NTSTATUS не может быть решена

Я пытаюсь сделать программу ведьма получит командную строку процесса по идентификатору процесса. Я использую Eclipse C++ и Mingw компилятор

Итак, я нашел 1 урок, как это сделать, и ему нужно ntstatus, как в уроке, который я включил #include <ntstatus.h>

И я добавил первую часть кода:

typedef NTSTATUS (NTAPI *_NtQueryInformationProcess)(
    HANDLE ProcessHandle,
    DWORD ProcessInformationClass,
    PVOID ProcessInformation,
    DWORD ProcessInformationLength,
    PDWORD ReturnLength
    );

И я получаю это 3 ошибки:

expected primary-expression before '__attribute__

Type 'NTSTATUS' could not be resolved

typedef 'NTSTATUS' is initialized (use decltype instead)

На этой линии: typedef NTSTATUS (NTAPI *_NtQueryInformationProcess)(

Я погуглил об этой проблеме, и я не нашел ее...

2 ответа

NTSTATUS определяется в

#include <winternl.h>

как

typedef _Return_type_success_(return >= 0) LONG NTSTATUS;

и его значения определены в

#include <ntstatus.h>

Тебе тоже нужно быть _WIN32_WINNT определено, иначе <winternl.h>не будет генерировать код. Мой проект DLL только плюнул Syntax error: NTSTATUS. Как исправить:

      #include <windows.h>
#include <winternl.h>
Другие вопросы по тегам