DacpMethodTableData-Struktur

Definiert einen Transportpuffer für Methodentabelleninformationen.

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 DacpMethodTableData : ZeroInit<DacpMethodTableData>
{
    BOOL bIsFree; // everything else is NULL if this is true.
    CLRDATA_ADDRESS Module;
    CLRDATA_ADDRESS Class;
    CLRDATA_ADDRESS ParentMethodTable;
    WORD wNumInterfaces;
    WORD wNumMethods;
    WORD wNumVtableSlots;
    WORD wNumVirtuals;
    DWORD BaseSize;
    DWORD ComponentSize;
    mdTypeDef cl; // Metadata token    
    DWORD dwAttrClass; // cached metadata
    BOOL bIsShared; // flags & enum_flag_DomainNeutral
    BOOL bIsDynamic;
    BOOL bContainsPointers;
    
    HRESULT Request(ISOSDacInterface *sos, CLRDATA_ADDRESS addr)
    {
        return sos->GetMethodTableData(addr, this);
    }
};

Elemente

Mitglied Beschreibung
bIsFree Ein Wert, der angibt, ob die Methodentabelle frei ist. Wenn dieses Mitglied ist TRUE, sind NULLalle anderen Mitglieder .
Module Die Adresse des Moduls, das die Methodentabelle enthält.
Class Die Adresse der EEClass für die Methodentabelle.
ParentMethodTable Die Adresse der übergeordneten Methodentabelle.
wNumInterfaces Die Anzahl der vom Typ implementierten Schnittstellen.
wNumMethods Die Anzahl der Methoden in der Methodentabelle.
wNumVtableSlots Die Anzahl der vtable-Steckplätze in der Methodentabelle.
wNumVirtuals Die Anzahl der virtuellen Methoden in der Methodentabelle.
BaseSize Die Basisgröße für Instanzen des Typs.
ComponentSize Die Komponentengröße für Array- oder Zeichenfolgeninstanzen.
cl Das Metadatentoken für den Typ.
dwAttrClass Die zwischengespeicherten Metadatenattribute für den Typ.
bIsShared Ein Wert, der angibt, ob die Methodentabelle freigegeben ist.
bIsDynamic Ein Wert, der angibt, ob die Methodentabelle einen dynamischen Typ darstellt.
bContainsPointers Ein Wert, der angibt, ob Instanzen des Typs Objektverweise enthalten.
Request Füllt die Struktur aus einer Methodentabellenadresse auf, indem sie aufgerufen wird ISOSDacInterface::GetMethodTableData.

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