Estrutura DacpMethodTableData

Define um buffer de transporte para informação da tabela de métodos.

Note

Esta API foi originalmente projetada para uso interno no tempo de execução. Embora agora seja suportado para uso de terceiros 3rd, recomendamos trabalhar com ICorDebug e ICorProfiler APIs quando possível.

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

Membro Descrição
bIsFree Um valor que indica se a tabela de métodos é livre. Se este membro for TRUE, todos os outros membros sã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étodos 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 espaços 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 array ou string.
cl O token de metadados para o tipo.
dwAttrClass Os atributos de metadados em cache para o tipo.
bIsShared Um valor que indica se a tabela de métodos é partilhada.
bIsDynamic Um valor que indica se a tabela de métodos representa um tipo dinâmico.
bContainsPointers Um valor que indica se instâncias do tipo contêm referências a objetos.
Request Preenche a estrutura a partir de um endereço de tabela de métodos chamando ISOSDacInterface::GetMethodTableData.

Remarks

Essa estrutura vive dentro do tempo de execução e não é exposta através de cabeçalhos ou arquivos de biblioteca. Para o usar, defina a estrutura conforme especificado acima.

Requisitos

Plataformas: Consulte Requisitos do sistema.
Cabeçalho: Nenhum
Biblioteca: Nenhum
Versões do .NET Framework: Disponíveis desde a 4.7

Consulte também