Debugging Tools for Windows

IDebugEventCallbacks::LoadModule

The LoadModule callback method is called by the engine when a module-load debugging event occurs in the target.

HRESULT
  IDebugEventCallbacks::LoadModule(
    IN ULONG64  ImageFileHandle,
    IN ULONG64  BaseOffset,
    IN ULONG  ModuleSize,
    IN PCSTR  ModuleName,
    IN PCSTR  ImageName,
    IN ULONG  CheckSum,
    IN ULONG  TimeDateStamp
    );

HRESULT
  IDebugEventCallbacksWide::LoadModule(
    IN ULONG64  ImageFileHandle,
    IN ULONG64  BaseOffset,
    IN ULONG  ModuleSize,
    IN PCWSTR  ModuleName,
    IN PCWSTR  ImageName,
    IN ULONG  CheckSum,
    IN ULONG  TimeDateStamp
    );

#ifdef UNICODE
#define IDebugEventCallbacksT IDebugEventCallbacksWide
#else
#define IDebugEventCallbacksT IDebugEventCallbacks
#endif

Parameters

ImageFileHandle
Specifies the handle to the module's image file. If this information is not available, ImageFileHandle will be NULL.
BaseOffset
Specifies the base address of the module in the target's memory address space. If this information is not available, BaseOffset will be NULL.
ModuleSize
Specifies the module's image size in bytes. If this information is not available, ModuleSize will be NULL.
ModuleName
Specifies the simplified module name that is used by the debugger engine. In most cases, this matches the image file name excluding the extension. For details, see Executable Image Path. If this information is not available, ModuleName will be NULL.
ImageName
Specifies the module's image file name, which can include the path. If this information is not available, ImageName will be NULL.
CheckSum
Specifies the checksum of the module's image file. If this information is not available, CheckSum will be NULL.
TimeDateStamp
Specifies the time and date stamp of the module's image file. If this information is not available, TimeDateStamp will be zero.

Return Value

This method returns a DEBUG_STATUS_XXX value, which indicates how the execution of the target should proceed after the engine processes this event. For details on how the engine treats this value, see Monitoring Events.

Comments

This method is only called by the engine if the DEBUG_EVENT_LOAD_MODULE flag is set in the mask returned by IDebugEventCallbacks::GetInterestMask.

After calling this method, the engine will call IDebugEventCallbacks::ChangeSymbolState, with the Flags parameter containing the bit flag DEBUG_CSS_LOADS.

For more information about handling events, see Monitoring Events.

Requirements

Headers: Defined in dbgeng.h. Include dbgeng.h.

Build machine: CAPEBUILD