#pragma region 依赖 typedef enum _THREADINFOCLASS{ ThreadBasicInformation, ThreadTimes, ThreadPriority, ThreadBasePriority, ThreadAffinityMask, ThreadImpersonationToken, ThreadDescriptorTableEntry, ThreadEnableAlignmentFaultFixup, ThreadEventPair_Reusable, ThreadQuerySetWin32StartAddress, ThreadZeroTlsCell, ThreadPerformanceCount, ThreadAmILastThread, ThreadIdealProcessor, ThreadPriorityBoost, ThreadSetTlsArrayAddress, ThreadIsIoPending, ThreadHideFromDebugger, ThreadBreakOnTermination, MaxThreadInfoClass }THREADINFOCLASS; typedef struct _CLIENT_ID{ HANDLE UniqueProcess; HANDLE UniqueThread; }CLIENT_ID; typedef struct _THREAD_BASIC_INFORMATION{ LONG ExitStatus; PVOID TebBaseAddress; CLIENT_ID ClientId; LONG AffinityMask; LONG Priority; LONG BasePriority; }THREAD_BASIC_INFORMATION,*PTHREAD_BASIC_INFORMATION; extern "C" LONG (__stdcall *ZwQueryInformationThread)( IN HANDLE ThreadHandle, IN THREADINFOCLASS ThreadInformationClass, OUT PVOID ThreadInformation, IN ULONG ThreadInformationLength, OUT PULONG ReturnLength OPTIONAL ) = NULL; #pragma endregion
|