IVsObjectList2.GetCategoryField2(UInt32, Int32, UInt32) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
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:
[C++]
HRESULT IVsObjectList2::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.