1

我试图制作一个程序女巫将通过进程 ID 获取进程的命令行。我正在使用 eclipse c++ 和 mingw 编译器

所以我找到了一个 1 教程如何做到这一点,它需要ntstatus就像我包含的教程一样#include <ntstatus.h>

我添加了代码的第一部分是什么:

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

我gettig这3个错误:

expected primary-expression before '__attribute__

Type 'NTSTATUS' could not be resolved

typedef 'NTSTATUS' is initialized (use decltype instead)

在这条线上:typedef NTSTATUS (NTAPI *_NtQueryInformationProcess)(

我用谷歌搜索了这个问题,但我没有找到它......

4

2 回答 2

3

NTSTATUS 定义在

#include <winternl.h>

作为

typedef _Return_type_success_(return >= 0) LONG NTSTATUS;

其值定义在

#include <ntstatus.h>
于 2017-12-13T07:29:39.620 回答
1

你也需要被_WIN32_WINNT 定义,否则<winternl.h>将不会生成任何代码。我的 DLL 项目只吐了Syntax error: NTSTATUS。怎么修:

#include <windows.h>
#include <winternl.h>
于 2021-04-04T11:20:42.603 回答