Files
Work/psapint/modentry.hpp
2024-08-07 09:16:27 -04:00

175 lines
3.4 KiB
C++

#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