Callbacks
These structures are used inside event
callbacks (registered using _plugin_registercallback). Notice that the pointer
'void* callbackInfo' is never NULL, but the
members of the various structures can be NULL.
struct
PLUG_CB_INITDEBUG
{
const char*
szFileName;
};
struct
PLUG_CB_STOPDEBUG
{
void*
reserved;
};
struct
PLUG_CB_CREATEPROCESS
{
CREATE_PROCESS_DEBUG_INFO*
CreateProcessInfo;
IMAGEHLP_MODULE64*
modInfo;
const char*
DebugFileName;
PROCESS_INFORMATION*
fdProcessInfo;
};
struct
PLUG_CB_EXITPROCESS
{
EXIT_PROCESS_DEBUG_INFO*
ExitProcess;
};
struct
PLUG_CB_CREATETHREAD
{
CREATE_THREAD_DEBUG_INFO*
CreateThread;
DWORD
dwThreadId;
};
struct PLUG_CB_EXITTHREAD
{
EXIT_THREAD_DEBUG_INFO*
ExitThread;
DWORD
dwThreadId;
};
struct
PLUG_CB_SYSTEMBREAKPOINT
{
void* reserved;
};
struct PLUG_CB_LOADDLL
{
LOAD_DLL_DEBUG_INFO*
LoadDll;
IMAGEHLP_MODULE64*
modInfo;
const char* modname;
};
struct PLUG_CB_UNLOADDLL
{
UNLOAD_DLL_DEBUG_INFO*
UnloadDll;
};
struct
PLUG_CB_OUTPUTDEBUGSTRING
{
OUTPUT_DEBUG_STRING_INFO*
DebugString;
};
struct PLUG_CB_EXCEPTION
{
EXCEPTION_DEBUG_INFO*
Exception;
};
struct PLUG_CB_BREAKPOINT
{
BRIDGEBP*
breakpoint;
};
struct PLUG_CB_PAUSEDEBUG
{
void*
reserved;
};
struct PLUG_CB_RESUMEDEBUG
{
void*
reserved;
};
struct PLUG_CB_STEPPED
{
void*
reserved;
};
struct
PLUG_CB_ATTACH
{
DWORD dwProcessId;
};
struct
PLUG_CB_DETACH
{
PROCESS_INFORMATION* fdProcessInfo;
};