Debugging Tools for Windows

IDebugEventCallbacks::CreateThread

The CreateThread callback method is called by the engine when a create-thread debugging event occurs in the target.

HRESULT
  IDebugEventCallbacks::CreateThread(
    IN ULONG64  Handle,
    IN ULONG64  DataOffset,
    IN ULONG64  StartOffset
    );

HRESULT
  IDebugEventCallbacksWide::CreateThread(
    IN ULONG64  Handle,
    IN ULONG64  DataOffset,
    IN ULONG64  StartOffset
    );

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

Parameters

Handle
Specifies the handle for the thread whose creation caused the event. If this information is not available, Handle will be NULL.
DataOffset
Specifies a block of data that the operating system maintains for this thread. The actual data in the block is operating system–specific. If the operating system does not have such a block, DataOffset will be NULL.
StartOffset
Specifies the starting location in the target's virtual address space of the thread. If this information is not available, StartOffset will be NULL.

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_CREATE_THREAD flag is set in the mask returned by IDebugEventCallbacks::GetInterestMask.

For more information about handling events, see Monitoring Events. For information about threads, see Threads and Processes.

Requirements

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

Build machine: CAPEBUILD