IVsSimpleObjectList2.GetCategoryField2(UInt32, Int32, UInt32) Método

Definição

Retorna o valor da categoria especificada para o item de lista fornecido.

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

Parâmetros

index
UInt32

no Especifica o índice do item de lista de interesse.

Category
Int32

no Especifica a categoria de interesse. Os valores são obtidos da LIB_CATEGORY enumeração.

pfCatField
UInt32

fora Ponteiro para uma variável que contém o valor retornado.

Retornos

Int32

Se o método for bem-sucedido, retornará S_OK. Se falhar, retornará um código de erro.

Comentários

Assinatura COM

De vsshell80. idl:

HRESULT IVsSimpleObjectList2::GetCategoryField2(  
   [in]         ULONG          Index,   
   [in]         LIB_CATEGORY2  Category,   
   [out,retval] DWORD         *pfCatField  
);  

O Gerenciador de objetos do ambiente chama esse método para recuperar os dados da categoria para os itens da lista. Você deve retornar no pField parâmetro um valor de enumerador da enumeração LIB_ * correspondente à categoria especificada no Category parâmetro. As categorias e suas enumerações de campo associadas são listadas na tabela a seguir.

Categoria de LIB_CATEGORY LIBCAT_ enum
LC_MEMBERTYPE _LIBCAT_MEMBERTYPE
LC_MEMBERACCESS _LIBCAT_MEMBERACCESS
LC_CLASSTYPE _LIBCAT_CLASSTYPE
LC_CLASSACCESS _LIBCAT_CLASSACCESS
LC_ACTIVEPROJECT Não utilizado.
LC_LISTTYPE (especial, consulte abaixo) LIBCAT_LISTTYPE (typedef de _LIB_LISTTYPE )
LC_VISIBILITY _LIBCAT_VISIBILITY
LC_MODIFIER _LIBCAT_MODIFIERTYPE
LC_NODETYPE (especial, consulte abaixo) _LIBCAT_NODETYPE

Se o index parâmetro for NULINDEX, o Category parâmetro será LC_LISTTYPE e a solicitação será para a lista como um todo, não um item de lista específico. Isso está solicitando os tipos de lista filho com suporte nesta lista. Nesse caso, você atribuiria pField um ou mais dos valores da _LIB_LISTTYPE enumeração. Por exemplo, uma LC_CLASSES lista pode retornar LC_CLASSES | LC_MEMBERS para indicar que oferece suporte a classes e listas de membros. No entanto, isso não significa que cada item de lista nessa lista dá suporte a ambas as listas filho.

Chamar o GetCategoryField método com LC_LISTTYPE Category é uma maneira que o ambiente determina se um nó é expansível para que possa indicar que um símbolo ' + ' deve ser exibido nas ferramentas do pesquisador de objetos ou de modo de exibição de classe. Como a expansibilidade de computação de um nó pode ser cara para sua biblioteca, o ambiente primeiro chama GetExpandable3 . Se esse método falhar, o ambiente chamará GetCategoryField . Use GetExpandable3 se você puder determinar o estado expansível do item de lista muito mais rápido do que enumerar totalmente todas as listas com suporte no determinado item.

Não implementar LC_NODETYPE para LLT_HIERARCHY listas não. LCNT_SYMBOL LLT_HIERARCHY No entanto, é possível retornar para listas que são realmente listas de símbolos.

Aplica-se a