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;
};

struct PLUG_CB_EXITTHREAD
{
    EXIT_THREAD_DEBUG_INFO* ExitThread;
};

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;
};