Compartilhar via


Método ICorProfilerInfo2::GetClassIDInfo2

Obtém o módulo de pai e os metadados token a classe genérica especificada, a 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 ID de classe para os quais informações serão recuperadas.

  • pModuleId
    [out] Ponteiro para a ID do módulo da classe pai.

  • pTypeDefToken
    [out] Ponteiro para o token de metadados da classe.

  • pParentClassId
    [out] Ponteiro para a ID da classe pai.

  • cNumTypeArgs
    [in] O dimensionar do typeArgs matriz.

  • pcNumTypeArgs
    [out] Ponteiro para o número total de elementos disponível.

  • typeArgs
    [out] Uma matriz de ClassID valores, cada um deles representa a ID de um argumento de tipo da classe. Quando o método retorna, typeArgs irá conter algumas ou todas as disponível ClassID valores.

Comentários

The 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 criador de perfil pode telefonar ICorcriador de perfilInfo::GetModuleMetaData para obter um metadados interface para um determinado módulo. Token de metadados que é retornado para o local referenciado por pTypeDefToken em seguida, pode ser usado para acessar os metadados da classe.

Depois de GetClassIDInfo2 Retorna, você deve verificar que o typeArgs buffer era grande o suficiente para conter todos os ClassID valores. Para fazer isso, comparar o valor que pcNumTypeArgs aponta para com o valor das cNumTypeArgs parâmetro. If pcNumTypeArgs aponta para um valor que seja maior que cNumTypeArgs, alocar uma maior typeArgs buffer, atualização cNumTypeArgs com a novo e maior dimensionar e telefonar GetClassIDInfo2 novamente.

Como alternativa, você pode primeiro telefonar GetClassIDInfo2 com um comprimento zero typeArgs buffer para obter o dimensionar do buffer correto. Você pode então conjunto o typeArgs dimensionar do buffer para o valor retornado nos pcNumTypeArgs e telefonar GetClassIDInfo2 novamente.

Para obter mais informações sobre essas duas abordagens, consulte Buffers alocados chamador da API de criação de perfil.

Requisitos

Plataformas: See Requisitos de sistema do .NET framework.

Cabeçalho: CorProf.idl

Biblioteca: CorGuids.lib

.NET Framework Versions: 3.5 SP1, 3,5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Consulte também

Referência

Interface ICorProfilerInfo

Interface ICorProfilerInfo2

Outros recursos

Interfaces de criação de perfil

Criação de perfil (referência de API não gerenciada)