IVsObjectList2.GetCategoryField2(UInt32, Int32, UInt32) Methode

Definition

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

Int32

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.

Gilt für