IVsObjectList2.GetCategoryField2(UInt32, Int32, UInt32) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt den Wert der angegebenen Kategorie für das angegebene Listenelement zurück.
public:
int GetCategoryField2(System::UInt32 index, int Category, [Runtime::InteropServices::Out] System::UInt32 % pfCatField);
int GetCategoryField2(unsigned int index, int Category, [Runtime::InteropServices::Out] unsigned int & pfCatField);
public int GetCategoryField2 (uint index, int Category, out uint pfCatField);
abstract member GetCategoryField2 : uint32 * int * uint32 -> int
Public Function GetCategoryField2 (index As UInteger, Category As Integer, ByRef pfCatField As UInteger) As Integer
Parameter
- index
- UInt32
[in] Gibt den Index des relevanten Listenelements an.
- Category
- Int32
[in] Gibt die relevante Kategorie an. Die Werte werden der LIB_CATEGORY-Enumeration entnommen.
- pfCatField
- UInt32
[out] Zeiger auf eine Variable, die den Rückgabewert enthält.
Gibt zurück
Wenn die Methode erfolgreich ist, wird S_OK zurückgegeben. Bei einem Fehler wird ein Fehlercode zurückgegeben.
Hinweise
COM-Signatur
Aus vsshell80. idl:
[C++]
HRESULT IVsObjectList2::GetCategoryField2(
[in] ULONG Index,
[in] LIB_CATEGORY2 Category,
out,retval] DWORD *pfCatField
);
Der Objekt-Manager der Umgebung ruft diese Methode auf, um die Kategoriedaten für die Listenelemente abzurufen. Sie müssen im- pField Parameter einen Enumeratorwert aus der LIB_ *-Enumeration zurückgeben, der der im-Parameter angegebenen Kategorie entspricht Category . Die Kategorien und die zugehörigen feldenumerationen sind in der folgenden Tabelle aufgeführt.
| Kategorie aus LIB_CATEGORY | LIBCAT_-Aufzählung |
|---|---|
| LC_MEMBERTYPE | _LIBCAT_MEMBERTYPE |
| LC_MEMBERACCESS | _LIBCAT_MEMBERACCESS |
| LC_CLASSTYPE | _LIBCAT_CLASSTYPE |
| LC_CLASSACCESS | _LIBCAT_CLASSACCESS |
| LC_ACTIVEPROJECT | Nicht verwendet. |
| LC_LISTTYPE (besondere Informationen finden Sie unten) | LIBCAT_LISTTYPE (typedef von _LIB_LISTTYPE ) |
| LC_VISIBILITY | _LIBCAT_VISIBILITY |
| LC_MODIFIER | _LIBCAT_MODIFIERTYPE |
| LC_NODETYPE (besondere Informationen finden Sie unten) | _LIBCAT_NODETYPE |
Wenn der index Parameter NULL ist, ist der Category -Parameter, LC_LISTTYPE und die Anforderung ist für die Liste als Ganzes und nicht für ein bestimmtes Listenelement vorgesehen. Hierdurch werden die unterstützten untergeordneten Listen Typen in dieser Liste angefordert. In diesem Fall würden Sie pField einen oder mehrere der Werte aus der- _LIB_LISTTYPE Enumeration zuweisen. Beispielsweise kann eine LC_CLASSES Liste zurückgeben, LC_CLASSES | LC_MEMBERS um anzugeben, dass Sie Klassen und Element Listen unterstützt. Dies bedeutet jedoch nicht, dass jedes Listenelement in dieser Liste beide untergeordneten Listen unterstützt.
Das Aufrufen der- GetCategoryField Methode mit LC_LISTTYPE Category ist eine Methode, mit der die Umgebung bestimmt, ob ein Knoten erweiterbar ist. so kann angegeben werden, dass ein "+"-Symbol in den Objektkatalog-oder Klassen Ansichts Tools angezeigt werden soll. Da das Berechnen der Erweiterbarkeit eines Knotens für Ihre Bibliothek teuer sein kann, ruft die Umgebung zuerst auf GetExpandable3 . Wenn diese Methode fehlschlägt, ruft die Umgebung auf GetCategoryField . Verwenden GetExpandable3 Sie, wenn Sie den erweiterbaren Zustand des Listen Elements deutlich schneller bestimmen können, als alle unterstützten Listen unter dem angegebenen Element vollständig aufzuzählen.
Implementieren Sie nicht LC_NODETYPE für nicht-- LLT_HIERARCHY Listen. Sie können LCNT_SYMBOL jedoch für Listen zurückgeben, LLT_HIERARCHY die eigentlich Symbol Listen sind.