DacpObjectData-Struktur

Definiert einen Transportpuffer für Laufzeitobjektinformationen.

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 DacpObjectData : ZeroInit<DacpObjectData>
{
    CLRDATA_ADDRESS MethodTable;
    DacpObjectType ObjectType;
    ULONG64 Size;
    CLRDATA_ADDRESS ElementTypeHandle;
    CorElementType ElementType;
    DWORD dwRank;
    ULONG64 dwNumComponents;
    ULONG64 dwComponentSize;
    CLRDATA_ADDRESS ArrayDataPtr;
    CLRDATA_ADDRESS ArrayBoundsPtr;
    CLRDATA_ADDRESS ArrayLowerBoundsPtr;

    CLRDATA_ADDRESS RCW;
    CLRDATA_ADDRESS CCW;
    
    HRESULT Request(ISOSDacInterface *sos, CLRDATA_ADDRESS addr)
    {
        return sos->GetObjectData(addr, this);
    }
};

Elemente

Mitglied Beschreibung
MethodTable Die Adresse der Methodentabelle des Objekts.
ObjectType Ein DacpObjectType-Enumerationswert , der den Objekttyp identifiziert.
Size Die Größe des Objekts in Byte.
ElementTypeHandle Bei Arrays wird die Adresse des Elementtyphandles behandelt.
ElementType Für Arrays wird der CorElementType-Wert für den Elementtyp verwendet.
dwRank Für Arrays die Anzahl der Dimensionen.
dwNumComponents Für Arrays die Anzahl der Elemente.
dwComponentSize Bei Arrays wird die Größe jeder Komponente in Byte angegeben.
ArrayDataPtr Für Arrays die Adresse der Arraydaten.
ArrayBoundsPtr Bei Arrays gilt die Adresse der Arraygrenzen.
ArrayLowerBoundsPtr Bei Arrays gilt die Adresse der unteren Grenzen des Arrays.
RCW Die Adresse des aufrufbaren Laufzeitwrappers, der dem Objekt zugeordnet ist.
CCW Die Adresse des com-aufrufbaren Wrappers, der dem Objekt zugeordnet ist.
Request Füllt die Struktur auf, indem sie aufgerufen wird ISOSDacInterface::GetObjectData.

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