Freigeben über


ICorProfilerInfo2::GetFunctionFromTokenAndTypeArgs-Methode

Aktualisiert: November 2007

Ruft die FunctionID einer Funktion mithilfe des angegebenen Metadatentokens ab, einschließlich der Klasse und der ClassID-Werte beliebiger Typargumente.

HRESULT GetFunctionFromTokenAndTypeArgs(
    [in] ModuleID moduleID,
    [in] mdMethodDef funcDef,
    [in] ClassID classId,
    [in] ULONG32 cTypeArgs,
    [in, size_is(cTypeArgs)] ClassID typeArgs[],
    [out] FunctionID* pFunctionID);

Parameter

  • moduleID
    [in] Die ID des Moduls, in dem sich die Funktion befindet.

  • funcDef
    [in] Ein mdMethodDef-Metadatentoken, das auf die Funktion verweist.

  • classId
    [in] Die ID der Funktion, die die Klasse enthält.

  • cTypeArgs
    [in] Die Anzahl der Typparameter für die angegebene Funktion. Dieser Wert muss für nicht generische Funktionen 0 (null) sein.

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

  • pFunctionID
    [out] Ein Zeiger auf die FunctionID der angegebenen Funktion.

Hinweise

Das Aufrufen der GetFunctionFromTokenAndTypeArgs-Methode mit einem mdMethodRef-Metadatentoken anstelle eines mdMethodDef-Metadatentokens kann zu unvorhersehbaren Ergebnissen führen. Aufrufer sollten mdMethodRef bei der Übergabe in mdMethodDef auflösen.

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

Die Verwendung von GetFunctionFromTokenAndTypeArgs wird generell nicht empfohlen. Wenn Profiler Interesse an Ereignissen für eine bestimmte Funktion zeigen, sollten sie die ModuleID und mdMethodDef dieser Funktion speichern und mithilfe von ICorProfilerInfo2::GetFunctionInfo2 überprüfen, ob eine bestimmte FunctionID der gewünschten Funktion 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