_Inout_PVOIDSystemInformation, _In_ULONGSystemInformationLength, _Out_opt_PULONGReturnLength ); 该函数未文档化,再ntdll.dll 中导出, SYSTEM_INFORMATION_CLASS为要查询信息的类型,是一个枚举型的,其他参数不说了。 简单举一例说明。 这里我们要枚举的是SystemProcessInformation信息, 先看一下该结构体: typedef...
修正后的SYSTEM_THREADS与SYSTEM_PROCESSES结构体 由于最近有个32位程序需要向64位系统移植,其中程序中使用了ZwQuerySystemInformation函数来枚举系统中的进程与线程信息,但是移植后的程序在Windows x64下工作不正常。现象是获取到的进程/线程信息混乱,不正确。通过查询WRK以及Win2k源码,将结构体中的成员进行了修改,最终编...
修正后的SYSTEM_THREADS与SYSTEM_PROCESSES结构体 由于最近有个32位程序需要向64位系统移植,其中程序中使用了ZwQuerySystemInformation函数来枚举系统中的进程与线程信息,但是移植后的程序在Windows x64下工作不正常。现象是获取到的进程/线程信息混乱,不正确。通过查询WRK以及Win2k源码,将结构体中的成员进行了修改,最终编...
SystemPerformanceInformation,SystemTimeOfDayInformation,SystemPathInformation,SystemProcessInformation,SystemCall...
typedefstruct_SYSTEM_PROCESS_INFORMATION { ULONGNextEntryDelta;// 指向下一个结构体的指针 ULONGThreadCount;// 本进程的总线程数 ULONGReserved1[ 6 ];// 保留 LARGE_INTEGER CreateTime;// 进程的创建时间 LARGE_INTEGER UserTime;// 在用户层的使用时间 ...
LPPROCESS_INFORMATION lpProcessInformation//用于在进程创建后接受相关信息 ); 使用方法如下: PROCESS_INFORMATION pi;//启动窗口的信息 STARTUPINFO si;//进程的信息 memset(&si,0,sizeof(si)); si.cb=sizeof(si); si.wShowWindow=SW_SHOW; si.dwFlags=STARTF_USESHOWWINDOW; ...
可以规定该结构体中的标志,已表明要设置的数据段。有时,不想设置任何信息,也必须传递一个有效的指针给空结构(确定设置大小到cb,及设置dwFlags成员为0)。参数lpProcessInformation返回进程和线程句柄,还包括进程和线程ID。这些句柄拥有在参数lpProcessAttributes和lpThreadAttributes中规定的访问。
enum SYSTEM_INFORMATION_CLASS {SystemHandleInformation=16};typedef NTSTATUS(NTAPI *ZW_QUERY_SYSTEM_...
因为SYSTEM_INFORMATION_CLASS是⼀个枚举类型所以类型⼜可为NTSTATUS (WINAPI *)(UINT,PVOID,ULONG,PULONG)下⾯通过⼀个查询系统进程的案例来演⽰⼀下:第⼀步:导⼊ZwQuerySystemInformation /** 名称:getAPIAddress 功能: 根据模块名称和函数名称获取函数地址 参数: TCHAR * moduleName 模块名称 ...
#define STATUS_SUCCESS ((NTSTATUS) 0x00000000) #define SystemProcessesAndThreadsInformation 5 // 功能号#define NTAPI __stdcall // 线程状态的枚举常量 typedef enum_THREAD_STATE { StateInitialized , // 初始化状态 StateReady , // 准备状态 StateRunning , // 运⾏状态 StateStandby , //...