DacpFieldDescData-Struktur

Definiert einen Transportpuffer für FieldDesc-Informationen.

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 DacpFieldDescData : ZeroInit<DacpFieldDescData>
{
    CorElementType Type;
    CorElementType sigType;     // ELEMENT_TYPE_XXX from signature. We need this to display pretty name for String in minidump's case
    CLRDATA_ADDRESS MTOfType; // NULL if Type is not loaded
    
    CLRDATA_ADDRESS ModuleOfType;
    mdTypeDef TokenOfType;
    
    mdFieldDef mb;
    CLRDATA_ADDRESS MTOfEnclosingClass;
    DWORD dwOffset;
    BOOL bIsThreadLocal;
    BOOL bIsContextLocal;
    BOOL bIsStatic;
    CLRDATA_ADDRESS NextField;

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

Elemente

Mitglied Beschreibung
Type Der Feldtyp.
sigType Der ELEMENT_TYPE_XXX Wert aus der Feldsignatur. Die Laufzeit verwendet dieses Element, um einen Anzeigenamen für String Minidumpszenarien anzuzeigen.
MTOfType Die Adresse der Methodentabelle für den Feldtyp oder NULL wenn der Typ nicht geladen wird.
ModuleOfType Die Adresse des Moduls, das den Feldtyp enthält.
TokenOfType Das Metadatentoken für den Feldtyp.
mb Das Metadatentoken für das Feld.
MTOfEnclosingClass Die Adresse der Methodentabelle für die eingeschlossene Klasse.
dwOffset Der Feldoffset.
bIsThreadLocal Ein Wert, der angibt, ob das Feld threadlokal ist.
bIsContextLocal Ein Wert, der angibt, ob es sich bei dem Feld um einen lokalen Kontext handelt.
bIsStatic Ein Wert, der angibt, ob das Feld statisch ist.
NextField Die Adresse des nächsten Felds.
Request Füllt die Struktur aus einer FieldDesc-Adresse auf, indem sie aufgerufen wird ISOSDacInterface::GetFieldDescData.

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