Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Definiert einen Transportpuffer für Synchronisierungsblockinformationen.
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 DacpSyncBlockData : ZeroInit<DacpSyncBlockData>
{
CLRDATA_ADDRESS Object;
BOOL bFree; // if set, no other fields are useful
// fields below provide data from this, so it's just for display
CLRDATA_ADDRESS SyncBlockPointer;
DWORD COMFlags;
UINT MonitorHeld;
UINT Recursion;
CLRDATA_ADDRESS HoldingThread;
UINT AdditionalThreadCount;
CLRDATA_ADDRESS appDomainPtr;
// SyncBlockCount will always be filled in with the number of SyncBlocks.
// SyncBlocks may be requested from [1,SyncBlockCount]
UINT SyncBlockCount;
// SyncBlockNumber must be from [1,SyncBlockCount]
// If there are no SyncBlocks, a call to Request with SyncBlockCount = 1
// will return E_FAIL.
HRESULT Request(ISOSDacInterface *sos, UINT SyncBlockNumber)
{
return sos->GetSyncBlockData(SyncBlockNumber, this);
}
};
Elemente
| Mitglied | Beschreibung |
|---|---|
Object |
Die Adresse des Objekts, das dem Synchronisierungsblock zugeordnet ist. |
bFree |
Ein Wert, der angibt, ob der Synchronisierungsblock frei ist. Wenn dieses Element festgelegt ist, sind keine anderen Felder nützlich. |
SyncBlockPointer |
Die Adresse des Synchronisierungsblocks. |
COMFlags |
Flags, die COM-Interoperabilitätsdaten beschreiben, die dem Synchronisierungsblock zugeordnet sind. |
MonitorHeld |
Die Häufigkeit, mit der der Monitor gehalten wird. |
Recursion |
Die Anzahl der Monitor rekursion. |
HoldingThread |
Die Adresse des Threads, der den Monitor enthält. |
AdditionalThreadCount |
Die Anzahl zusätzlicher Threads, die dem Synchronisierungsblock zugeordnet sind. |
appDomainPtr |
Die Adresse der Anwendungsdomäne, die dem Synchronisierungsblock zugeordnet ist. |
SyncBlockCount |
Die Anzahl der Synchronisierungsblöcke. Synchronisierungsblöcke können von 1 bis diesem Wert angefordert werden. |
Request |
Füllt die Struktur auf, indem sie aufgerufen wird ISOSDacInterface::GetSyncBlockData. |
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