NtQueryInformationThread

NtQueryInformationThread

我需要运行以下代码:

asm
 push eax
 mov eax, esp
 push 0
 push 4
 ...
 call NtQueryInformationThread
 ...
end;


但是我收到错误消息说NtQueryInformationThread是
“未声明的标识符:'NtQueryInformationThread'”。

你能帮我宣布一下吗?
提前致谢。

最佳答案

您缺少的是您需要使程序从ntdll.dll导入功能。而且,您不需要asm,因此您实际上应该避免使用它,因为它会使您的程序难以维护。

您可以像导入其他Windows API函数一样导入该函数:

function NtQueryInformationThread(
    ThreadHandle: THandle;
    ThreadInformationClass: THREADINFOCLASS;
    ThreadInformation: Pointer;
    ThreadInformationLength: ULONG;
    ReturnLength: PULONG
): NTSTATUS; stdcall; external 'ntdll.dll';


您还将需要几个类型声明:

type
  NTSTATUS = LONG;
  THREADINFOCLASS = DWORD;

10-08 04:46