Dela via


ICorProfilerInfo2::GetClassIDInfo2 Method

Hämtar den överordnade modulen och metadatatoken för den öppna allmänna definitionen av den angivna klassen, ClassID den överordnade klassen och ClassID för varje typargument, om det finns, för klassen.

Syntax

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

Parameters

classId [i] ID:t för klassen som informationen ska hämtas för.

pModuleId [ut] Pekar på ID:t för den överordnade modulen för den öppna allmänna definitionen av den angivna klassen.

pTypeDefToken [ut] Pekare till metadatatoken för den öppna allmänna definitionen för den angivna klassen.

pParentClassId [ut] Pekare till ID:t för den överordnade klassen.

cNumTypeArgs [i] Matrisens typeArgs storlek.

pcNumTypeArgs [ut] Pekare mot det totala antalet tillgängliga element.

typeArgs [ut] En matris med ClassID värden som var och en representerar ID:t för ett typargument för klassen. När metoden returneras typeArgs innehåller den några eller alla tillgängliga ClassID värden.

Remarks

Metoden GetClassIDInfo2 liknar metoden ICorProfilerInfo::GetClassIDInfo , men GetClassIDInfo2 hämtar ytterligare information om en allmän typ.

Profilerarkoden kan anropa ICorProfilerInfo::GetModuleMetaData för att hämta ett metadatagränssnitt för en viss modul. Metadatatoken som returneras till den plats som refereras av pTypeDefToken kan sedan användas för att komma åt metadata för klassen.

När GetClassIDInfo2 du har returnerat måste du kontrollera att bufferten typeArgs var tillräckligt stor för att innehålla alla ClassID värden. Det gör du genom att jämföra värdet som pcNumTypeArgs pekar på med värdet för parametern cNumTypeArgs . Om pcNumTypeArgs pekar på ett värde som är större än cNumTypeArgsallokerar du en större typeArgs buffert, uppdaterar cNumTypeArgs med den nya, större storleken och anropar GetClassIDInfo2 igen.

Du kan också först anropa GetClassIDInfo2 med en buffert med noll längd typeArgs för att få rätt buffertstorlek. Du kan sedan ange buffertstorleken typeArgs till det värde som returneras och pcNumTypeArgs anropa GetClassIDInfo2 igen.

Requirements

Plattformar: Se Systemkrav.

Rubrik: CorProf.idl, CorProf.h

Library: CorGuids.lib

.NET Framework-versioner: tillgänglig sedan 2.0

See also