几个 Nt 函数在 Windows 7 x32 上返回STATUS_WAIT_0

Several Nt functions return STATUS_WAIT_0 on Windows 7 x32

本文关键字:STATUS 返回 WAIT x32 函数 Nt Windows 几个      更新时间:2023-10-16

我从Microsoft网站上下载了Windows 7 x32 Enterprise(IE11(hyper-v映像来测试研究项目。

出于某种原因,我调用(syscall(的所有Ntdll函数都返回STATUS_WAIT_0。我的意思是我测试过的所有这些,包括RtlGetVersion,NtAllocateVirtualMemory,NtCreateFile等。

这可能是因为它是虚拟机吗?还是因为我做直接系统调用?

请注意,我已经在包括最新 Windows 10 在内的非虚拟机下测试了我的项目,它工作正常,所以我怀疑这是我的代码。

更新:

STATUS_WAIT_0可以被视为STATUS_SUCCESS,因为它的值都是 0。

Ntdll函数基本上返回一个NTSTATUS,如RtlGetVersionNtAllocateVirtualMemoryNtCreateFile等。

以下文档包含NTSTATUS值的常见用法详细信息 https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-erref/596a1078-e883-4972-9bbc-49e60bebca55

返回值/代码:

0x00000000

STATUS_SUCCESS/STATUS_WAIT_0

描述:

操作已成功完成。

调用方为 WaitType 指定了 WaitAny,并且 Object 数组中的一个调度程序对象已设置为信号状态。