Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
Defines a transport buffer for runtime thread information.
Note
This API was originally designed for internal use in the runtime. Although it is now supported for 3rd party use, we recommend working with ICorDebug and ICorProfiler APIs when possible.
Syntax
struct DacpThreadData : ZeroInit<DacpThreadData>
{
DWORD corThreadId;
DWORD osThreadId;
int state;
ULONG preemptiveGCDisabled;
CLRDATA_ADDRESS allocContextPtr;
CLRDATA_ADDRESS allocContextLimit;
CLRDATA_ADDRESS context;
CLRDATA_ADDRESS domain;
CLRDATA_ADDRESS pFrame;
DWORD lockCount;
CLRDATA_ADDRESS firstNestedException; // Pass this pointer to DacpNestedExceptionInfo
CLRDATA_ADDRESS teb;
CLRDATA_ADDRESS fiberData;
CLRDATA_ADDRESS lastThrownObjectHandle;
CLRDATA_ADDRESS nextThread;
HRESULT Request(ISOSDacInterface *sos, CLRDATA_ADDRESS addr)
{
return sos->GetThreadData(addr, this);
}
};
Members
| Member | Description |
|---|---|
corThreadId |
The managed thread identifier. |
osThreadId |
The operating system thread identifier. |
state |
The thread state flags. |
preemptiveGCDisabled |
A value that indicates whether preemptive garbage collection is disabled for the thread. |
allocContextPtr |
The current allocation context pointer for the thread. |
allocContextLimit |
The allocation context limit for the thread. |
context |
The address of the thread context. |
domain |
The address of the application domain for the thread. |
pFrame |
The address of the current frame. |
lockCount |
The number of locks held by the thread. |
firstNestedException |
The address of the first nested exception. Pass this pointer to DacpNestedExceptionInfo. |
teb |
The address of the thread environment block. |
fiberData |
The address of the fiber data. |
lastThrownObjectHandle |
The handle for the last object thrown on the thread. |
nextThread |
The address of the next thread in the runtime thread list. |
Request |
Populates the structure by calling ISOSDacInterface::GetThreadData. |
Remarks
This structure lives inside the runtime and is not exposed through any headers or library files. To use it, define the structure as specified above.
Requirements
Platforms: See System Requirements.
Header: None
Library: None
.NET Framework Versions: Available since 4.7