Несколько функций Nt возвращают STATUS_WAIT_0 при Windows 7 x32 - PullRequest
0 голосов
/ 10 января 2020

Я загрузил изображение Hyper-V Windows 7 x32 Enterprise (IE11) с веб-сайта Microsoft для тестирования исследовательского проекта.

По какой-то причине все функции Ntdll, которые я вызываю (syscall), возвращают STATUS_WAIT_0. Я имею в виду все они, которые я тестировал, включая RtlGetVersion, NtAllocateVirtualMemory, NtCreateFile и т. Д.

Может ли это быть потому, что это виртуальная машина? Или это может быть из-за того, что я выполняю прямые системные вызовы?

Пожалуйста, посоветуйте, я протестировал свой проект на не виртуальных машинах, включая самые последние Windows 10, и он отлично работает, поэтому я сомневаюсь, что это мой код.

Обновление:

STATUS_WAIT_0 может рассматриваться как STATUS_SUCCESS, поскольку его значение равно 0.

1 Ответ

0 голосов
/ 15 января 2020

Функция Ntdll в основном возвращает NTSTATUS, например RtlGetVersion, NtAllocateVirtualMemory, NtCreateFile и более.

Следующий документ содержит общие сведения об использовании NTSTATUS значений https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-erref/596a1078-e883-4972-9bbc-49e60bebca55

Возвращаемое значение / код:

0x00000000

STATUS_SUCCESS / STATUS_WAIT_0

Описание:

Операция успешно завершена.

Вызывающая сторона указала WaitAny для WaitType и одного для объектов диспетчера в массиве Object было установлено сигнальное состояние.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...