DacpMethodTableData – struktura

Definuje vyrovnávací paměť přenosu pro informace tabulky metod.

Note

Toto rozhraní API bylo původně navrženo pro interní použití v modulu runtime. I když se teď podporuje pro použití třetí strany, doporučujeme pracovat s rozhraními ICorDebug API, ICorProfiler pokud je to možné.

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

Members

Člen Description
bIsFree Hodnota, která označuje, zda je tabulka metod volná. Pokud je TRUEtento člen , jsou NULLvšichni ostatní členové .
Module Adresa modulu, který obsahuje tabulku metod.
Class Adresa třídy EEClass pro tabulku metod.
ParentMethodTable Adresa tabulky nadřazené metody.
wNumInterfaces Počet rozhraní implementovaných typem.
wNumMethods Počet metod v tabulce metod.
wNumVtableSlots Počet slotů vtable v tabulce metod.
wNumVirtuals Počet virtuálních metod v tabulce metod.
BaseSize Základní velikost instancí typu.
ComponentSize Velikost komponenty pro instance polí nebo řetězců.
cl Token metadat pro typ.
dwAttrClass Atributy metadat uložených v mezipaměti pro typ.
bIsShared Hodnota, která označuje, zda je tabulka metody sdílena.
bIsDynamic Hodnota, která označuje, zda tabulka metody představuje dynamický typ.
bContainsPointers Hodnota, která označuje, zda instance typu obsahují odkazy na objekt.
Request Naplní strukturu z adresy tabulky metod voláním ISOSDacInterface::GetMethodTableData.

Remarks

Tato struktura se nachází uvnitř modulu runtime a není vystavena prostřednictvím žádných hlaviček nebo souborů knihovny. Pokud ji chcete použít, definujte strukturu, jak je uvedeno výše.

Požadavky

Platformy: Viz požadavky na systém.
Záhlaví: Žádný
Knihovna: Žádný
.NET Framework verze: K dispozici od verze 4.7

Viz také