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 typeArgs
Puffergröß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.