ICorProfilerInfo2::GetClassIDInfo2-metod

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[]);  

Parametrar

classId
[i] ID:t för den klass för vilken information ska hämtas.

pModuleId
[ut] Pekar på ID:t för den överordnade modulen för den öppna allmänna definitionen för 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 på 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 returnerar typeArgs innehåller vissa eller alla tillgängliga ClassID värden.

Kommentarer

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

Profiler-koden 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.

Krav

Plattformar: Se Systemkrav.

Huvudet: CorProf.idl, CorProf.h

Bibliotek: CorGuids.lib

.NET Framework versioner: Tillgänglig sedan 2.0

Se även