Compartilhar via


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

 

Retorna o valor para a categoria especificada para o item da lista fornecida.

Namespace:   Microsoft.VisualStudio.Shell.Interop
Assembly:  Microsoft.VisualStudio.Shell.Interop.8.0 (em Microsoft.VisualStudio.Shell.Interop.8.0.dll)

Sintaxe

int GetCategoryField2(
    uint index,
    int Category,
    out uint pfCatField
)
int GetCategoryField2(
    unsigned int index,
    int Category,
    [OutAttribute] unsigned int% pfCatField
)
abstract GetCategoryField2 : 
        index:uint32 *
        Category:int *
        pfCatField:uint32 byref -> int
Function GetCategoryField2 (
    index As UInteger,
    Category As Integer,
    <OutAttribute> ByRef pfCatField As UInteger
) As Integer

Parâmetros

  • index
    [in] Especifica o índice do item da lista de interesse.
  • Category
    [in] Especifica a categoria de interesse.Valores são obtidas a partir do LIB_CATEGORY enumeração.
  • pfCatField
    [out] Ponteiro para uma variável que contém o valor retornado.

Valor de retorno

Type: System.Int32

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

Comentários

COM assinatura

De vsshell80.idl:

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

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

Categoria de LIB_CATEGORY

Enumeração LIBCAT_

LC_MEMBERTYPE

_LIBCAT_MEMBERTYPE

LC_MEMBERACCESS

_LIBCAT_MEMBERACCESS

LC_CLASSTYPE

_LIBCAT_CLASSTYPE

LC_CLASSACCESS

_LIBCAT_CLASSACCESS

LC_ACTIVEPROJECT

Não utilizados.

LC_LISTTYPE (em especial, veja abaixo)

LIBCAT_LISTTYPE (typedef de _LIB_LISTTYPE)

LC_VISIBILITY

_LIBCAT_VISIBILITY

LC_MODIFIER

_LIBCAT_MODIFIERTYPE

LC_NODETYPE (em especial, veja abaixo)

_LIBCAT_NODETYPE

Se a index parâmetro é NULINDEX, o Category parâmetro é LC_LISTTYPE e a solicitação for para a lista como um todo, não é um item de lista específica.Isso está pedindo para os tipos de lista de filhos suportados sob esta lista.Nesse caso, você deve atribuir pField um ou mais dos valores da _LIB_LISTTYPE enumeração.Por exemplo, um LC_CLASSES pode retornar a lista LC_CLASSES | LC_MEMBERS indicar que ele oferece suporte classes e membros de listas.Isso, no entanto, significa que cada item da lista nesta lista oferece suporte a ambas as listas de filho.

Chamar o GetCategoryField método com LC_LISTTYPE categoria é uma maneira do ambiente determina se um nó é expansível, portanto, ele pode indicar que um símbolo de '+' deve ser exibido nas ferramentas de modo de exibição de navegador ou classe de objeto.Como a capacidade de expansão de um nó de computação pode ser caro para sua biblioteca, o ambiente chama primeiro GetExpandable3.Se esse método falhar, as chamadas de ambiente GetCategoryField.Use GetExpandable3 se você pode determinar o estado expansível do item da lista muito mais rápido que Enumerando completamente todas as listas com suporte em determinado item.

Não implementam LC_NODETYPE para não-LLT_HIERARCHY lista.Você pode retornar LCNT_SYMBOL para LLT_HIERARCHY listas de listas, símbolo, na verdade, no entanto.

Consulte também

Interface IVsSimpleObjectList2
Namespace Microsoft.VisualStudio.Shell.Interop

Retornar ao topo