Compartilhar via


Método IVsObjectList.GetCategoryField (UInt32, LIB_CATEGORY, UInt32)

 

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

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

Sintaxe

int GetCategoryField(
    uint index,
    LIB_CATEGORY Category,
    out uint pField
)
int GetCategoryField(
    unsigned int index,
    LIB_CATEGORY Category,
    [OutAttribute] unsigned int% pField
)
abstract GetCategoryField : 
        index:uint32 *
        Category:LIB_CATEGORY *
        pField:uint32 byref -> int
Function GetCategoryField (
    index As UInteger,
    Category As LIB_CATEGORY,
    <OutAttribute> ByRef pField 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.
  • pField
    [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 vsshell.idl:

HRESULT IVsObjectList::GetCategoryField(
   [in] ULONG Index,
   [in] LIB_CATEGORY Category,
   [out,retval] DWORD* pField
);

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 de LIB_ * enums correspondente 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, Category será 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 LLT_CLASSES lista pode retornar.LLT_CLASSES | LLT_MEMBERSpara indicar que ele oferece suporte classes e membros lista.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, primeiro chamará o ambiente GetExpandable.Se esse método falhar, entrará em contato com o ambiente GetCategoryField.Use GetExpandable2 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 IVsObjectList
Namespace Microsoft.VisualStudio.Shell.Interop

Retornar ao topo