Método de ICorProfilerInfo2::GetClassIDInfo2
Obtém o módulo de pai e os metadados token da classe genérica especificada, o ClassID de sua classe pai e o ClassID para cada argumento de tipo, se presente, da classe.
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 identificação da classe para os quais informações serão recuperadas.pModuleId
[out] Ponteiro para a identificação do módulo da classe pai.pTypeDefToken
[out] Ponteiro para o token de metadados para a classe.pParentClassId
[out] Ponteiro para a identificação da classe pai.cNumTypeArgs
[in] O tamanho da typeArgs matriz.pcNumTypeArgs
[out] Ponteiro para o número total de elementos disponíveis.typeArgs
[out] Uma matriz de ClassID valores, cada um deles representa a identificação de um argumento de tipo de classe a. Quando o método retorna, typeArgs irá conter algumas ou todas as disponíveis ClassID valores.
Comentários
O GetClassIDInfo2 método é semelhante do ICorProfilerInfo::GetClassIDInfo método, mas GetClassIDInfo2 obtém informações adicionais sobre um tipo genérico.
O código do profiler pode chamar ICorProfilerInfo::GetModuleMetaData para obter um metadados interface para um determinado módulo. O token de metadados que é retornado para o local referenciado pelo pTypeDefToken pode ser usado para acessar os metadados para a classe.
Depois de GetClassIDInfo2 retorna, você deve verificar se a typeArgs buffer era grande o suficiente para conter todos os ClassID valores. Para fazer isso, compare o valor que pcNumTypeArgs aponta com o valor de cNumTypeArgs parâmetro. Se pcNumTypeArgs aponta para um valor maior que cNumTypeArgs, alocar uma maior typeArgs buffer, a atualização cNumTypeArgs com o novo tamanho maior e a chamada GetClassIDInfo2 novamente.
Como alternativa, você pode primeiro chamar GetClassIDInfo2 com um comprimento zero typeArgs o buffer para obter o tamanho de buffer correto. Você pode então definir a typeArgs tamanho do buffer para o valor retornado em pcNumTypeArgs e chame GetClassIDInfo2 novamente.
Para obter mais informações sobre essas duas abordagens, consulte Convenções de método de API de criação de perfil.
Requisitos
Plataformas: Consulte Requisitos de sistema do .NET Framework.
Cabeçalho: Corprof. idl, CorProf.h
Biblioteca: CorGuids.lib
.NET Framework versões: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0
Consulte também
Referência
Interface de ICorProfilerInfo2