我试图制作一个程序,它将通过进程ID获取进程的命令行。我使用eclipse c ++和mingw编译器
所以我找到了一个1教程如何做到这一点,它需要 ntstatus ,所以像我在教程中包括#include <ntstatus.h>
我添加了第一部分代码:
typedef NTSTATUS (NTAPI *_NtQueryInformationProcess)(
HANDLE ProcessHandle,
DWORD ProcessInformationClass,
PVOID ProcessInformation,
DWORD ProcessInformationLength,
PDWORD ReturnLength
);
并且即时通知这三个错误:
expected primary-expression before '__attribute__
Type 'NTSTATUS' could not be resolved
typedef 'NTSTATUS' is initialized (use decltype instead)
在这一行:typedef NTSTATUS (NTAPI *_NtQueryInformationProcess)(
我用Google搜索了这个问题,而且我没有找到它......
答案 0 :(得分:1)
NTSTATUS在
中定义#include <winternl.h>
作为
typedef _Return_type_success_(return >= 0) LONG NTSTATUS;
及其值在
中定义#include <ntstatus.h>
答案 1 :(得分:0)
Thee 也需要定义为 _WIN32_WINNT
,否则 <winternl.h>
将不会生成任何代码。我的 DLL 项目只吐了 Syntax error: NTSTATUS
。如何修复:
#include <windows.h>
#include <winternl.h>