Estrutura DacpMethodTableData

Define um buffer de transporte para informações da tabela de métodos.

Note

Essa API foi originalmente desenvolvida para uso interno no runtime. Embora ela agora tenha suporte para uso de terceiros, recomendamos trabalhar com as APIs ICorDebug e ICorProfiler quando possível.

Sintaxe

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

Membro Descrição
bIsFree Um valor que indica se a tabela de métodos é gratuita. Se esse membro for TRUE, todos os outros membros serão NULL.
Module O endereço do módulo que contém a tabela de métodos.
Class O endereço do EEClass para a tabela de métodos.
ParentMethodTable O endereço da tabela de método pai.
wNumInterfaces O número de interfaces implementadas pelo tipo.
wNumMethods O número de métodos na tabela de métodos.
wNumVtableSlots O número de slots vtable na tabela de métodos.
wNumVirtuals O número de métodos virtuais na tabela de métodos.
BaseSize O tamanho base para instâncias do tipo.
ComponentSize O tamanho do componente para instâncias de matriz ou cadeia de caracteres.
cl O token de metadados do tipo.
dwAttrClass Os atributos de metadados armazenados em cache para o tipo.
bIsShared Um valor que indica se a tabela de métodos é compartilhada.
bIsDynamic Um valor que indica se a tabela de métodos representa um tipo dinâmico.
bContainsPointers Um valor que indica se as instâncias do tipo contêm referências de objeto.
Request Preenche a estrutura de um endereço de tabela de método chamando ISOSDacInterface::GetMethodTableData.

Remarks

Essa estrutura reside dentro do runtime e não é exposta por meio de cabeçalhos ou arquivos de biblioteca. Para usá-la, defina a estrutura conforme especificado acima.

Requisitos

Plataformas: confira Requisitos do sistema.
Cabeçalho: Nenhum
Biblioteca: Nenhum
versões do .NET Framework: disponíveis desde 4.7

Consulte também