Método ICorProfilerInfo2::GetClassIDInfo2
Obtém o módulo pai da classe genérica especificada e o token de metadados da definição genérica aberta especificada, o ClassID
de sua classe pai e o ClassID
para cada argumento de tipo, se presente, da classe.
Sintaxe
HRESULT GetClassIDInfo2(
[in] ClassID classId,
[out] ModuleID *pModuleId,
[out] mdTypeDef *pTypeDefToken,
[out] ClassID *pParentClassId,
[in] ULONG32 cNumTypeArgs,
[out] ULONG32 *pcNumTypeArgs,
[out] ClassID typeArgs[]);
Parâmetros
classId
[in] A ID Da classe para o qual as informações serão recuperadas.
pModuleId
[out] Ponteiro para a ID do módulo pai para a definição genérica aberta da classe especificada.
pTypeDefToken
[out] Ponteiro para o token de metadados para a definição genérica aberta da classe especificada.
pParentClassId
[out] Ponteiro para a ID da classe pai.
cNumTypeArgs
[in] O tamanho da matriz typeArgs
.
pcNumTypeArgs
[out] Ponteiro para o número total de elementos disponíveis.
typeArgs
[out] Uma matriz de valores ClassID
, cada um deles representa a ID de um argumento de tipo da classe. Quando o método retornar, typeArgs
conterá alguns ou todos os valores ClassID
disponíveis.
Comentários
O método GetClassIDInfo2
é semelhante ao método ICorProfilerInfo::GetClassIDInfo, 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 retornado ao local referenciado por pTypeDefToken
pode ser usado para acessar os metadados da classe.
Após GetClassIDInfo2
retornar, você deve verificar se o buffer typeArgs
era grande o suficiente para conter todos os valores ClassID
. Para fazer isso, compare o valor para o qual pcNumTypeArgs
aponta com o valor do parâmetro cNumTypeArgs
. Se pcNumTypeArgs
apontar para um valor maior que cNumTypeArgs
, aloque um buffer typeArgs
maior, atualize cNumTypeArgs
com o novo tamanho maior e chame GetClassIDInfo2
novamente.
Como alternativa, primeiro você pode chamar GetClassIDInfo2
com um buffer typeArgs
de comprimento zero para obter o tamanho correto do buffer. Em seguida, você pode definir o tamanho do buffer typeArgs
como o valor retornado em pcNumTypeArgs
e chamar GetClassIDInfo2
novamente.
Requisitos
Plataformas: confira Requisitos do sistema.
Cabeçalho: CorProf.idl, CorProf.h
Biblioteca: CorGuids.lib
Versões do .NET Framework: disponíveis desde 2.0