MODULEENTRY32是一种编程数据结构。
结构
Describes an entry from a list of the modules belonging to the specified process.
typedef struct tagMODULEENTRY32 {
DWORD dwSize;
DWORD th32ModuleID;
DWORD th32ProcessID;
DWORD GlblcntUsage;
DWORD ProccntUsage;
BYTE *modBaseAddr;
DWORD modBaseSize;
HMODULE hModule;
TCHAR szModule[MAX_PATH];
TCHAR szExePath[MAX_PATH];
} MODULEENTRY32, *PMODULEENTRY32, *LPMODULEENTRY32;
成员
dwSize
指定结构的长度,以字节为单位。在调用Module32First功能,设置这个成员SIZEOF(MODULEENTRY32)。如果你不初始化的dwSize,Module32First将失败。
th32ModuleID
此成员已经不再被使用,通常被设置为1
th32ProcessID
正在检查的进程标识符。这个成员的内容,可以使用Win32 API的元素
GlblcntUsage
全局模块的使用计数,即模块的总载入次数。通常这一项是没有意义的,被设置为0xFFFF。
ProccntUsage
全局模块的使用计数(与GlblcntUsage相同)。通常这一项也是没有意义的,被设置为0xFFFF。
modBaseAddr
模块的基址,在其所属的进程范围内。
modBaseSize
模块的大小,单位字节。
hModule
所属进程的范围内,模块句柄。
szModule
NULL结尾的字符串,其中包含模块名。
szExePath
NULL结尾的字符串,其中包含的位置,或模块的路径。
其他信息
modBaseAddr和hModule的成员只有在指定的th32ProcessID进程中才有效。
要求
操作系统版本的Windows CE1.0和更高版本。
头文件:Tlhelp32.h。
示例