Partilhar via


ICorProfilerInfo2::GetClassIDInfo2 Method

Obtém o módulo pai e o token de metadados para a definição genérica aberta da classe especificada, a ClassID de sua classe pai e o ClassID argumento para cada tipo, se presente, da classe.

Syntax

HRESULT GetClassIDInfo2(
    [in]  ClassID classId,
    [out] ModuleID *pModuleId,
    [out] mdTypeDef *pTypeDefToken,
    [out] ClassID *pParentClassId,
    [in]  ULONG32 cNumTypeArgs,
    [out] ULONG32 *pcNumTypeArgs,
    [out] ClassID typeArgs[]);

Parameters

classId [em] A ID da classe para a qual as informações serão recuperadas.

pModuleId [saídas] Ponteiro para a ID do módulo pai para a definição genérica aberta da classe especificada.

pTypeDefToken [saídas] Ponteiro para o token de metadados para a definição genérica aberta da classe especificada.

pParentClassId [saídas] Ponteiro para a ID da classe pai.

cNumTypeArgs [em] O tamanho da typeArgs matriz.

pcNumTypeArgs [saídas] Ponteiro para o número total de elementos disponíveis.

typeArgs [saídas] Uma matriz de ClassID valores, cada um dos quais representa a ID de um argumento de tipo da classe. Quando o método retornar, typeArgs conterá alguns ou todos os valores disponíveis ClassID .

Remarks

O GetClassIDInfo2 método é semelhante ao ICorProfilerInfo::GetClassIDInfo método, mas GetClassIDInfo2 obtém informações adicionais sobre um tipo genérico.

O código do criador de perfil pode chamar ICorProfilerInfo::GetModuleMetaData para obter uma interface de metadados para um determinado módulo. O token de metadados que é retornado ao local referenciado por pTypeDefToken pode ser usado para acessar os metadados da classe.

Após GetClassIDInfo2 os retornos, você deve verificar se o typeArgs buffer era grande o suficiente para conter todos os ClassID valores. Para fazer isso, compare o valor que pcNumTypeArgs aponta com o valor do cNumTypeArgs parâmetro. Se pcNumTypeArgs apontar para um valor maior que cNumTypeArgs, aloque um buffer maior typeArgs , atualize cNumTypeArgs com o novo tamanho maior e chame GetClassIDInfo2 novamente.

Como alternativa, você pode primeiro chamar GetClassIDInfo2 com um buffer de comprimento typeArgs zero para obter o tamanho correto do buffer. Em seguida, você pode definir o tamanho do typeArgs buffer para o valor retornado e pcNumTypeArgs chamar GetClassIDInfo2 novamente.

Requirements

Plataformas: Consulte Requisitos do sistema.

Cabeçalho: CorProf.idl, CorProf.h

Library: CorGuids.lib

Versões do .NET Framework: Disponível desde 2.0

See also