Estrutura DacpObjectData

Define um buffer de transporte para informação de objetos em tempo de execução.

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 DacpObjectData : ZeroInit<DacpObjectData>
{
    CLRDATA_ADDRESS MethodTable;
    DacpObjectType ObjectType;
    ULONG64 Size;
    CLRDATA_ADDRESS ElementTypeHandle;
    CorElementType ElementType;
    DWORD dwRank;
    ULONG64 dwNumComponents;
    ULONG64 dwComponentSize;
    CLRDATA_ADDRESS ArrayDataPtr;
    CLRDATA_ADDRESS ArrayBoundsPtr;
    CLRDATA_ADDRESS ArrayLowerBoundsPtr;

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

Members

Membro Descrição
MethodTable O endereço da tabela de métodos do objeto.
ObjectType Um valor de enumeração DacpObjectType que identifica o tipo de objeto.
Size O tamanho do objeto, em bytes.
ElementTypeHandle Para arrays, o endereço do tipo de elemento handle.
ElementType Para arrays, o valor CorElementType para o tipo de elemento.
dwRank Para arrays, o número de dimensões.
dwNumComponents Para arrays, o número de elementos.
dwComponentSize Para arrays, o tamanho de cada componente, em bytes.
ArrayDataPtr Para arrays, o endereço dos dados do array.
ArrayBoundsPtr Para arrays, o endereço dos limites do array.
ArrayLowerBoundsPtr Para arrays, o endereço do array é o limite inferior.
RCW O endereço do wrapper chamável em tempo de execução associado ao objeto.
CCW O endereço do wrapper chamável COM associado ao objeto.
Request Preenche a estrutura chamando ISOSDacInterface::GetObjectData.

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