Freigeben über


ICorProfilerInfo2::GetClassFromTokenAndTypeArgs-Methode

Aktualisiert: November 2007

Ruft die ClassID eines Typs mithilfe des angegebenen Metadatentokens und der ClassID-Werte beliebiger Typargumente ab.

HRESULT GetClassFromTokenAndTypeArgs(
    [in] ModuleID moduleID,
    [in] mdTypeDef typeDef,
    [in] ULONG32 cTypeArgs,
    [in, size_is(cTypeArgs)] ClassID typeArgs[],
    [out] ClassID* pClassID);

Parameter

  • moduleID
    [in] Die ID des Moduls, in dem sich der Typ befindet.

  • typeDef
    [in] Ein mdTypeDef-Metadatentoken, das auf den Typ verweist.

  • cTypeArgs
    [in] Die Anzahl der Typparameter für den angegebenen Typ. Dieser Wert muss für nicht generische Typen 0 (null) sein.

  • typeArgs
    [in] Ein Array von ClassID-Werten, von denen jeder ein Argument des Typs darstellt. Der Wert von typeArgs kann NULL sein, wenn cTypeArgs auf 0 (null) festgelegt wird.

  • pClassID
    [out] Ein Zeiger auf die ClassID des angegebenen Typs.

Hinweise

Das Aufrufen der GetClassFromTokenAndTypeArgs-Methode mit mdTypeRef anstelle eines mdTypeDef-Metadatentokens kann zu unvorhersehbaren Ergebnissen führen. Aufrufer sollten die mdTypeRef bei der Übergabe in eine mdTypeDef auflösen.

Wenn der Typ noch nicht geladen ist, wird das Laden durch Aufrufen von GetClassFromTokenAndTypeArgs ausgelöst, was in vielen Kontexten einen gefährlichen Vorgang darstellt. Wenn diese Methode z. B. beim Laden von Modulen oder anderen Typen aufgerufen wird, kann eine Endlosschleife entstehen, weil die Common Language Runtime versucht, Ladevorgänge zirkulär durchzuführen.

Die Verwendung von GetClassFromTokenAndTypeArgs wird generell nicht empfohlen. Wenn Profiler Interesse an Ereignissen für einen bestimmten Typ zeigen, sollten sie die ModuleID und die mdTypeDef dieses Typs speichern und mithilfe von ICorProfilerInfo2::GetClassIDInfo2 überprüfen, ob eine bestimmte ClassID dem gewünschten Typ entspricht.

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