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 cNumTypeArgs
allokerar 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