MODULEENTRY32 

Describes an entry from a list that enumerates the modules used by a specified process.

typedef struct tagMODULEENTRY32 { 

    DWORD   dwSize;

    DWORD   th32ModuleID;

    DWORD   th32ProcessID;

    DWORD   GlblcntUsage;

    DWORD   ProccntUsage;

    BYTE  * modBaseAddr;

    DWORD   modBaseSize;

    HMODULE hModule;

    char    szModule[MAX_MODULE_NAME32 + 1];

    char    szExePath[MAX_PATH];

} MODULEENTRY32;

typedef MODULEENTRY32 *  PMODULEENTRY32;

typedef MODULEENTRY32 *  LPMODULEENTRY32;

 

Members

dwSize

Specifies the length, in bytes, of the structure. Before calling the Module32FirstG8GLZ3 function, set this member to

sizeof(MODULEENTRY32).

th32ModuleID

Module identifier in the context of the owning process. The contents of this member has meaning only to the tool help functions. It is not a handle, nor is it usable by Win32 API elements.

th32ProcessID

Identifier of the process being examined. The contents of this member can be used by Win32 API elements.

GlblcntUsage

Global usage count on the module.

ProccntUsage

Module usage count in the context of the owning process.

modBaseAddr

Base address of the module in the context of the owning process.

modBaseSize

Size, in bytes, of the module.

hModule

Handle of the module in the context of the owning process.

szModule

String containing the module name.

szExePath

String containing the location (path) of the module.

 

Note  modBaseAddr and hModule are valid only in the context of the process specified by th32ProcessID.