DkmThread.Create Method

Definition

DkmThread is called by a debug monitor to create a new DkmThread instance. DkmThread objects for system threads are created by the base debug monitor. This method must be called on the event thread.

This method will send a ThreadCreate event.

Location constraint: API must be called from a Monitor component (component level < 100,000).

public:
 static Microsoft::VisualStudio::Debugger::DkmThread ^ Create(Microsoft::VisualStudio::Debugger::DkmProcess ^ Process, System::UInt64 NativeStartAddress, System::UInt64 TebAddress, bool IsMainThread, Microsoft::VisualStudio::Debugger::DkmThread::System ^ System, Microsoft::VisualStudio::Debugger::DkmDataItem ^ DataItem);
public static Microsoft.VisualStudio.Debugger.DkmThread Create (Microsoft.VisualStudio.Debugger.DkmProcess Process, ulong NativeStartAddress, ulong TebAddress, bool IsMainThread, Microsoft.VisualStudio.Debugger.DkmThread.System System, Microsoft.VisualStudio.Debugger.DkmDataItem DataItem);
static member Create : Microsoft.VisualStudio.Debugger.DkmProcess * uint64 * uint64 * bool * Microsoft.VisualStudio.Debugger.DkmThread.System * Microsoft.VisualStudio.Debugger.DkmDataItem -> Microsoft.VisualStudio.Debugger.DkmThread
Public Shared Function Create (Process As DkmProcess, NativeStartAddress As ULong, TebAddress As ULong, IsMainThread As Boolean, System As DkmThread.System, DataItem As DkmDataItem) As DkmThread

Parameters

Process
DkmProcess

[In] DkmProcess represents a target process which is being debugged. The debugger debugs processes, so this is the basic unit of debugging. A DkmProcess can represent a system process or a virtual process such as minidumps.

NativeStartAddress
UInt64

[In] If available, this is the Win32 start address of this thread (value passed to the CreateThread API). The value will not always be available, for example, it is generally not available in scenarios where the thread was started after the debugger attached, or in minidumps.

TebAddress
UInt64

[In] Address within the target process, where the Win32 thread environment block is stored. See documentation on the TEB structure in MSDN for more information.

IsMainThread
Boolean

[In] True if this is the main thread of this process. The main thread is the first thread to start.

System
DkmThread.System

[In,Optional] Describes traits of the thread which are relevant to a full Win32 thread. Currently, this value is required, and all threads will have a 'System' block. In the future, this value may be NULL if the DkmThread represents something other than a full Win32 thread.

DataItem
DkmDataItem

[In,Optional] Data object to add to the new DkmThread instance. Pass 'null' in the case that the caller doesn't need to add a data item.

Returns

[Out] Result of this method call.

Applies to