Metodo ICorProfilerInfo2::GetClassIDInfo2
Ottiene il modulo padre e il token di metadati per la definizione generica aperta della classe specificata, la ClassID
relativa classe padre e l'oggetto ClassID
per ogni argomento di tipo, se presente, della classe .
Sintassi
HRESULT GetClassIDInfo2(
[in] ClassID classId,
[out] ModuleID *pModuleId,
[out] mdTypeDef *pTypeDefToken,
[out] ClassID *pParentClassId,
[in] ULONG32 cNumTypeArgs,
[out] ULONG32 *pcNumTypeArgs,
[out] ClassID typeArgs[]);
Parametri
classId
[in] ID della classe per la quale verranno recuperate le informazioni.
pModuleId
[out] Puntatore all'ID del modulo padre per la definizione generica aperta della classe specificata.
pTypeDefToken
[out] Puntatore al token di metadati per la definizione generica aperta della classe specificata.
pParentClassId
[out] Puntatore all'ID della classe padre.
cNumTypeArgs
[in] Dimensione della matrice typeArgs
.
pcNumTypeArgs
[out] Puntatore al numero complessivo di elementi disponibili.
typeArgs
[out] Matrice di valori ClassID
, ognuno dei quali rappresenta l'ID di un argomento di tipo della classe. Quando il metodo restituisce i risultati, typeArgs
conterrà alcuni o tutti i valori ClassID
disponibili.
Commenti
Il GetClassIDInfo2
metodo è simile al metodo ICorProfilerInfo::GetClassIDInfo , ma GetClassIDInfo2
ottiene informazioni aggiuntive su un tipo generico.
Il codice del profiler può chiamare ICorProfilerInfo::GetModuleMetaData per ottenere un'interfaccia dei metadati per un determinato modulo. Il token di metadati restituito al percorso a cui viene fatto riferimento tramite pTypeDefToken
può quindi essere usato per accedere ai metadati per la classe.
Dopo il completamento del metodo GetClassIDInfo2
, è necessario verificare che il buffer typeArgs
sia abbastanza grande per contenere tutti i valori ClassID
. A tale scopo, confrontare il valore a cui punta pcNumTypeArgs
con il valore del parametro cNumTypeArgs
. Se pcNumTypeArgs
punta a un valore maggiore di cNumTypeArgs
, allocare un buffer typeArgs
più grande, aggiornare cNumTypeArgs
con la nuova dimensione e chiamare nuovamente GetClassIDInfo2
.
In alternativa, è possibile chiamare innanzitutto GetClassIDInfo2
con un buffer typeArgs
di lunghezza zero per ottenere le dimensioni del buffer corrette. È quindi possibile impostare le dimensioni del buffer typeArgs
sul valore restituito in pcNumTypeArgs
e chiamare nuovamente GetClassIDInfo2
.
Requisiti
Piattaforme: vedere Requisiti di sistema di .NET Framework.
Intestazione: CorProf.idl, CorProf.h
Libreria: CorGuids.lib
Versioni di .NET Framework: Disponibile da 2.0