为什么 IoAllocateErrorLogEntry return 为空?
Why does IoAllocateErrorLogEntry return null?
我正在尝试编写我的第一个 Windows 2000 驱动程序,并且喜欢使用 EventViewer 进行调试。
所以我写了这样的东西:
DriverEntry(DriverObject, SomeRegistryPathIDontCareAbout){
ntoskrnl.exe/IoAllocateErrorLogEntry(
IoObject = DriverObject,
EntrySize = 44
)
return 0;
}
ntoskrnl.exe/IoAllocateErrorLogEntry 只是 returns 0 而不是地址。有人知道为什么函数拒绝为事件包分配一些 space 吗?
好的,我明白了。
IoAllocateErrorLogEntry
检查 EntrySize
的值是否 >= sizeof(IO_ERROR_LOG_PACKET)
即 48 字节。
所以我的 44 字节的值太低了。
我正在尝试编写我的第一个 Windows 2000 驱动程序,并且喜欢使用 EventViewer 进行调试。
所以我写了这样的东西:
DriverEntry(DriverObject, SomeRegistryPathIDontCareAbout){
ntoskrnl.exe/IoAllocateErrorLogEntry(
IoObject = DriverObject,
EntrySize = 44
)
return 0;
}
ntoskrnl.exe/IoAllocateErrorLogEntry 只是 returns 0 而不是地址。有人知道为什么函数拒绝为事件包分配一些 space 吗?
好的,我明白了。
IoAllocateErrorLogEntry
检查 EntrySize
的值是否 >= sizeof(IO_ERROR_LOG_PACKET)
即 48 字节。
所以我的 44 字节的值太低了。