Freigeben über


ICorProfilerInfo2::GetClassIDInfo2-Methode

Aktualisiert: November 2007

Ruft das übergeordnete Modul und Metadatentoken der angegebenen generischen Klasse, die ClassID ihrer übergeordneten Klasse sowie die ClassID jedes Typarguments der Klasse (sofern vorhanden) ab.

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 der Klasse.

  • pTypeDefToken
    [out] Zeiger auf das Metadatentoken für die Klasse.

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

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

  • pcNumTypeArgs
    [out] Zeiger auf die Gesamtzahl verfügbarer Elemente.

  • typeArgs
    [out] Ein Array von ClassID-Werten, von denen jeder die ID eines Typarguments der Klasse darstellt. Nach dem Beenden der Methode enthält typeArgs einen oder alle verfügbaren ClassID-Werte.

Hinweise

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

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

Nachdem GetClassIDInfo2 beendet wurde, müssen Sie sicherstellen, dass der typeArgs-Puffer groß genug war, um alle ClassID-Werte aufzunehmen. Vergleichen Sie hierzu den Wert, auf den pcNumTypeArgs verweist, mit dem Wert des cNumTypeArgs-Parameters. 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.

Sie können auch zunächst GetClassIDInfo2 mit einem typeArgs-Puffer der Größe 0 (null) aufrufen, um die richtige Puffergröße zu ermitteln. Sie können dann für die typeArgs-Puffergröße den Wert festlegen, der in pcNumTypeArgs zurückgegeben wurde, und GetClassIDInfo2 erneut aufrufen.

Weitere Informationen über diese beiden Ansätze finden Sie unter Vom Aufrufer reservierte Puffer in der Profilerstellungs-API.

Anforderungen

Plattformen: siehe Systemanforderungen für .NET Framework.

Header: CorProf.idl

Bibliothek: CorGuids.lib

.NET Framework-Versionen: 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Siehe auch

Referenz

ICorProfilerInfo

ICorProfilerInfo2

Weitere Ressourcen

Profilerstellungsschnittstellen

Profilerstellung (Referenz zur nicht verwalteten API)