Initial
This commit is contained in:
174
psapint/modentry.hpp
Normal file
174
psapint/modentry.hpp
Normal file
@@ -0,0 +1,174 @@
|
||||
#ifndef _PSAPINT_MODENTRY_HPP_
|
||||
#define _PSAPINT_MODENTRY_HPP_
|
||||
#ifndef _COMMON_WINDOWS_HPP_
|
||||
#include <common/windows.hpp>
|
||||
#endif
|
||||
#ifndef _COMMON_TOOLHELP32_HPP_
|
||||
#include <common/tlhelp32.hpp>
|
||||
#endif
|
||||
|
||||
class ModuleEntry : private MODULEENTRY32
|
||||
{
|
||||
public:
|
||||
ModuleEntry(void);
|
||||
virtual ~ModuleEntry();
|
||||
DWORD moduleID(void)const;
|
||||
void moduleID(DWORD moduleID);
|
||||
DWORD processID(void)const;
|
||||
void processID(DWORD processID);
|
||||
DWORD globalCntUsage(void)const;
|
||||
void globalCntIUsage(DWORD globalCntUsage);
|
||||
DWORD procCntUsage(void)const;
|
||||
void procCntUsage(DWORD procCntUsage);
|
||||
DWORD modBaseAddress(void)const;
|
||||
void modBaseAddress(DWORD modBaseAddress);
|
||||
DWORD modBaseSize(void)const;
|
||||
void modBaseSize(DWORD modBaseSize);
|
||||
HMODULE module(void)const;
|
||||
void module(HMODULE hModule);
|
||||
String strModule(void)const;
|
||||
void szModule(const String &strModule);
|
||||
String strExePath(void)const;
|
||||
void strExePath(const String &strExePath);
|
||||
MODULEENTRY32 &getMODULEENTRY(void);
|
||||
private:
|
||||
void zeroInit(void);
|
||||
};
|
||||
|
||||
inline
|
||||
ModuleEntry::ModuleEntry(void)
|
||||
{
|
||||
zeroInit();
|
||||
}
|
||||
|
||||
inline
|
||||
ModuleEntry::~ModuleEntry()
|
||||
{
|
||||
}
|
||||
|
||||
inline
|
||||
DWORD ModuleEntry::moduleID(void)const
|
||||
{
|
||||
return MODULEENTRY32::th32ModuleID;
|
||||
}
|
||||
|
||||
inline
|
||||
void ModuleEntry::moduleID(DWORD moduleID)
|
||||
{
|
||||
MODULEENTRY32::th32ModuleID=moduleID;
|
||||
}
|
||||
|
||||
inline
|
||||
DWORD ModuleEntry::processID(void)const
|
||||
{
|
||||
return MODULEENTRY32::th32ProcessID;
|
||||
}
|
||||
|
||||
inline
|
||||
void ModuleEntry::processID(DWORD processID)
|
||||
{
|
||||
MODULEENTRY32::th32ProcessID=processID;
|
||||
}
|
||||
|
||||
inline
|
||||
DWORD ModuleEntry::globalCntUsage(void)const
|
||||
{
|
||||
return MODULEENTRY32::GlblcntUsage;
|
||||
}
|
||||
|
||||
inline
|
||||
void ModuleEntry::globalCntIUsage(DWORD globalCntUsage)
|
||||
{
|
||||
MODULEENTRY32::GlblcntUsage=globalCntUsage;
|
||||
}
|
||||
|
||||
inline
|
||||
DWORD ModuleEntry::procCntUsage(void)const
|
||||
{
|
||||
return MODULEENTRY32::ProccntUsage;
|
||||
}
|
||||
|
||||
inline
|
||||
void ModuleEntry::procCntUsage(DWORD procCntUsage)
|
||||
{
|
||||
MODULEENTRY32::ProccntUsage=procCntUsage;
|
||||
}
|
||||
|
||||
inline
|
||||
DWORD ModuleEntry::modBaseAddress(void)const
|
||||
{
|
||||
return DWORD(MODULEENTRY32::modBaseAddr);
|
||||
}
|
||||
|
||||
inline
|
||||
void ModuleEntry::modBaseAddress(DWORD modBaseAddress)
|
||||
{
|
||||
MODULEENTRY32::modBaseAddr=(BYTE*)modBaseAddress;
|
||||
}
|
||||
|
||||
inline
|
||||
DWORD ModuleEntry::modBaseSize(void)const
|
||||
{
|
||||
return MODULEENTRY32::modBaseSize;
|
||||
}
|
||||
|
||||
inline
|
||||
void ModuleEntry::modBaseSize(DWORD modBaseSize)
|
||||
{
|
||||
MODULEENTRY32::modBaseSize=modBaseSize;
|
||||
}
|
||||
|
||||
inline
|
||||
HMODULE ModuleEntry::module(void)const
|
||||
{
|
||||
return MODULEENTRY32::hModule;
|
||||
}
|
||||
|
||||
inline
|
||||
void ModuleEntry::module(HMODULE hModule)
|
||||
{
|
||||
MODULEENTRY32::hModule=hModule;
|
||||
}
|
||||
|
||||
inline
|
||||
String ModuleEntry::strModule(void)const
|
||||
{
|
||||
return MODULEENTRY32::szModule;
|
||||
}
|
||||
|
||||
inline
|
||||
void ModuleEntry::szModule(const String &strModule)
|
||||
{
|
||||
int strLen(strModule.length());
|
||||
if(strLen<=MAX_MODULE_NAME32)::strcpy(MODULEENTRY32::szModule,(LPSTR)(String&)strModule);
|
||||
else {::strncpy(MODULEENTRY32::szModule,(LPSTR)(String&)strModule,MAX_MODULE_NAME32);MODULEENTRY32::szModule[MAX_MODULE_NAME32]=0;}
|
||||
}
|
||||
|
||||
inline
|
||||
String ModuleEntry::strExePath(void)const
|
||||
{
|
||||
return MODULEENTRY32::szExePath;
|
||||
}
|
||||
|
||||
inline
|
||||
void ModuleEntry::strExePath(const String &strExePath)
|
||||
{
|
||||
int strLen(strExePath.length());
|
||||
if(strLen<MAX_PATH)::strcpy(MODULEENTRY32::szExePath,(LPSTR)(String&)strExePath);
|
||||
else {::strncpy(MODULEENTRY32::szExePath,(LPSTR)(String&)strExePath,MAX_PATH-1);MODULEENTRY32::szExePath[MAX_PATH-1]=0;}
|
||||
}
|
||||
|
||||
inline
|
||||
MODULEENTRY32 &ModuleEntry::getMODULEENTRY(void)
|
||||
{
|
||||
return *this;
|
||||
}
|
||||
|
||||
inline
|
||||
void ModuleEntry::zeroInit(void)
|
||||
{
|
||||
::memset(&getMODULEENTRY(),0,sizeof(MODULEENTRY32));
|
||||
MODULEENTRY32::dwSize=sizeof(MODULEENTRY32);
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user