Freigeben über


ICorProfilerInfo2::GetClassIDInfo2-Methode

Ruft das übergeordnete Modul und das Metadatentoken der offenen generischen Definition der angegebenen Klasse, die ClassID der übergeordneten Klasse und die ClassID für jedes Typargument der Klasse ab, falls vorhanden.

Syntax

HRESULT GetClassIDInfo2(  
    [in]  ClassID classId,  
    [out] ModuleID *pModuleId,  
    [out] mdTypeDef *pTypeDefToken,  
    [out] ClassID *pParentClassId,  
    [in]  ULONG32 cNumTypeArgs,  
    [out] ULONG32 *pcNumTypeArgs,  
    [out] ClassID typeArgs[]);  

Parameter

classId
[in] Die ID der Klasse, für die Informationen abgerufen werden sollen.

pModuleId
[out] Zeiger auf die ID des übergeordneten Moduls für die geöffnete generische Definition der angegebenen Klasse.

pTypeDefToken
[out] Zeiger auf das Metadatentoken für die geöffnete generische Definition der angegebenen Klasse.

pParentClassId
[out] Der Zeiger auf die ID der übergeordneten Klasse.

cNumTypeArgs
[in] Die Größe des typeArgs-Arrays.

pcNumTypeArgs
[out] Der Zeiger auf die Gesamtzahl der verfügbaren Elemente.

typeArgs
[out] Ein Array von ClassID-Werten, von denen jedes die ID eines Typarguments der Klasse darstellt. Wenn die Methode zurückkehrt, enthält typeArgs einige verfügbare oder alle verfügbaren ClassID Werte.

Bemerkungen

Die Methode GetClassIDInfo2 ist vergleichbar mit der Methode ICorProfilerInfo::GetClassIDInfo, GetClassIDInfo2 ruft jedoch zusätzliche Informationen zu einem generischen Typ ab.

Der Profilercode kann ICorProfilerInfo::GetModuleMetaData zum Abrufen einer Metadatenschnittstelle für ein bestimmtes Modul aufrufen. Das Metadatentoken, das an den Speicherort zurückgegeben wird, auf den durch pTypeDefToken verwiesen wird, kann anschließend für den Zugriff auf die Metadaten für die Klasse verwendet werden.

Nachdem GetClassIDInfo2 zurückgegeben wurde, müssen Sie sicherstellen, dass der typeArgs-Puffer groß genug war, um alle ClassID-Werte aufzunehmen. Vergleichen Sie zu diesem Zweck den Wert, auf den pcNumTypeArgs verweist, mit dem Wert des Parameters cNumTypeArgs. Wenn pcNumTypeArgs auf einen Wert verweist, der größer als cNumTypeArgs ist, weisen Sie einen größeren typeArgs-Puffer zu, aktualisieren Sie cNumTypeArgs mit der neuen Größe, und rufen Sie GetClassIDInfo2 erneut auf.

Alternativ können Sie zuerst GetClassIDInfo2 mit einem typeArgs-Puffer der Länge 0 (NULL) aufrufen, um die richtige Puffergröße zu ermitteln. Sie können die typeArgsPuffergröße dann auf den Wert festlegen, der von pcNumTypeArgs zurückgegeben wurde, und GetClassIDInfo2 dann erneut aufrufen.

Anforderungen

Plattformen: Informationen finden Sie unter Systemanforderungen.

Header: CorProf.idl, CorProf.h

Bibliothek: CorGuids.lib

.NET Framework-Versionen: Seit 2.0 verfügbar.

Siehe auch