Método ICorProfilerInfo2::GetClassIDInfo2
Obtém o módulo principal e o token de metadados para a definição genérica aberta da classe especificada, a ClassID
da respetiva classe principal 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] O ID da classe para a qual as informações serão obtidas.
pModuleId
[fora] Ponteiro para o ID do módulo principal para a definição genérica aberta da classe especificada.
pTypeDefToken
[fora] Ponteiro para o token de metadados para a definição genérica aberta da classe especificada.
pParentClassId
[fora] Ponteiro para o ID da classe principal.
cNumTypeArgs
[in] O tamanho da typeArgs
matriz.
pcNumTypeArgs
[fora] Ponteiro para o número total de elementos disponíveis.
typeArgs
[fora] Uma matriz de ClassID
valores, cada um dos quais representa o ID de um argumento de tipo da classe. Quando o método for devolvido, typeArgs
irá conter alguns ou todos os valores disponíveis ClassID
.
Observações
O GetClassIDInfo2
método é semelhante ao método ICorProfilerInfo::GetClassIDInfo , mas GetClassIDInfo2
obtém informações adicionais sobre um tipo genérico.
O código do gerador de perfis pode chamar ICorProfilerInfo::GetModuleMetaData para obter uma interface de metadados para um determinado módulo. O token de metadados que é devolvido à localização referenciada pelo pTypeDefToken
pode ser utilizado para aceder aos metadados da classe .
Após GetClassIDInfo2
a devolução, tem de verificar se a typeArgs
memória intermédia era suficientemente grande para conter todos os ClassID
valores. Para tal, compare o valor que pcNumTypeArgs
aponta com o valor do cNumTypeArgs
parâmetro . Se pcNumTypeArgs
apontar para um valor maior do cNumTypeArgs
que , aloque uma memória intermédia maior typeArgs
, atualize cNumTypeArgs
com o novo tamanho maior e chame GetClassIDInfo2
novamente.
Em alternativa, pode chamar GetClassIDInfo2
primeiro com uma memória intermédia de comprimento typeArgs
zero para obter o tamanho correto da memória intermédia. Em seguida, pode definir o tamanho da typeArgs
memória intermédia para o valor devolvido em pcNumTypeArgs
e chamar GetClassIDInfo2
novamente.
Requisitos
Plataformas: Veja Requisitos de Sistema.
Cabeçalho: CorProf.idl, CorProf.h
Biblioteca: CorGuids.lib
.NET Framework Versões: Disponível desde 2.0