DacpThreadData-Struktur

Definiert einen Transportpuffer für Laufzeitthreadinformationen.

Note

Diese API wurde ursprünglich für die interne Verwendung in der Runtime entwickelt. Obwohl sie jetzt für die Verwendung durch Dritte unterstützt wird, wird empfohlen, nach Möglichkeit mit den APIs ICorDebug und ICorProfiler zu arbeiten.

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

Elemente

Mitglied Beschreibung
corThreadId Der verwaltete Threadbezeichner.
osThreadId Der Threadbezeichner des Betriebssystems.
state Die Threadstatuskennzeichnungen.
preemptiveGCDisabled Ein Wert, der angibt, ob die präventive Garbage Collection für den Thread deaktiviert ist.
allocContextPtr Der aktuelle Zuordnungskontextzeiger für den Thread.
allocContextLimit Der Zuordnungskontextgrenzwert für den Thread.
context Die Adresse des Threadkontexts.
domain Die Adresse der Anwendungsdomäne für den Thread.
pFrame Die Adresse des aktuellen Frames.
lockCount Die Anzahl der Sperren, die vom Thread gehalten werden.
firstNestedException Die Adresse der ersten geschachtelten Ausnahme. Übergeben Sie diesen Zeiger an DacpNestedExceptionInfo.
teb Die Adresse des Threadumgebungsblocks.
fiberData Die Adresse der Faserdaten.
lastThrownObjectHandle Das Handle für das letzte Objekt, das im Thread ausgelöst wird.
nextThread Die Adresse des nächsten Threads in der Laufzeitthreadliste.
Request Füllt die Struktur auf, indem sie aufgerufen wird ISOSDacInterface::GetThreadData.

Remarks

Diese Struktur befindet sich innerhalb der Laufzeit und wird nicht über Kopfzeilen oder Bibliotheksdateien verfügbar gemacht. Um sie zu verwenden, definieren Sie die Struktur wie oben angegeben.

Anforderungen

Plattformen: Informationen finden Sie unter Systemanforderungen.
Kopfball: Nichts
Bibliothek: Nichts
.NET Framework-Versionen: Seit 4.7 verfügbar

Siehe auch