Compartilhar via


Método IVsObjectList2.EnumClipboardFormats (UInt32, UInt32, UInt32, VSOBJCLIPFORMAT[], UInt32 )

 

Publicado: junho de 2016

Solicita o determinado item de lista para enumerar seus formatos com suporte na área de transferência.

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

Sintaxe

int EnumClipboardFormats(
    uint index,
    uint grfFlags,
    uint celt,
    VSOBJCLIPFORMAT[] rgcfFormats,
    uint[] pcActual
)
int EnumClipboardFormats(
    unsigned int index,
    unsigned int grfFlags,
    unsigned int celt,
    array<VSOBJCLIPFORMAT>^ rgcfFormats,
    array<unsigned int>^ pcActual
)
abstract EnumClipboardFormats : 
        index:uint32 *
        grfFlags:uint32 *
        celt:uint32 *
        rgcfFormats:VSOBJCLIPFORMAT[] *
        pcActual:uint32[] -> int
Function EnumClipboardFormats (
    index As UInteger,
    grfFlags As UInteger,
    celt As UInteger,
    rgcfFormats As VSOBJCLIPFORMAT(),
    pcActual As UInteger()
) As Integer

Parâmetros

  • index
    Type: System.UInt32

    [in] Especifica o índice do item da lista de interesse.

  • celt
    Type: System.UInt32

    [in] Especifica a contagem de elementos de rgcfFormats.

  • pcActual
    Type: System.UInt32[]

    [out] Ponteiro para uma contagem de formatos na rgcfformats matriz realmente retornado.

Valor Retornado

Type: System.Int32

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

Comentários

COM assinatura

De vsshell80.idl:

[C++]

HRESULT IVsObjectList2::EnumClipboardFormats(
   [in] ULONG Index, 
   [in] VSOBJCFFLAGS grfFlags, 
   [in] ULONG celt, 
   [in, out, size_is(celt)] VSOBJCLIPFORMAT rgcfFormats[], 
   [out, optional] ULONG *pcActual
);

O ambiente oferece suporte a três formatos padrão da área de transferência: CF_NAVINFO, CF_TEXT, e CF_UNICODETEXT. Você pode criar e registrar seus próprios formatos da área de transferência. Para obter informações sobre a implementação de formato de área de transferência OLE e o registro, consulte Clipboard Formats no conjunto de documentação do Platform SDK do MSDN Library.

O ambiente chama EnumClipboardFormats para obter uma lista dos formatos de área de transferência que você oferece suporte para operações de arrastar e soltar e copiar e colar. O ambiente primeiro chama EnumClipboardFormats (index, grfFlags, 0, null, pcActual) obter a contagem de formatos da área de transferência de sua lista fornece. Em seguida, aloca uma matriz de tamanho pcActual, e, em seguida, chama EnumClipboardFormats (index, grfFlags, pcActual, rcgfFormats, pcActual).

Preencher o rgcfformats de matriz com VSOBJCLIPFORMAT estruturas contendo os formatos de suporte. Cada VSOBJCLIPFORMAT estrutura identifica o formato, o tipo de mídia, e se o formato é um arquivo composto. Com formatos compostos, o ambiente faz o processamento real depois de chamar GetExtendedClipboardVariant. Caso contrário, a própria lista faz a renderização por meio de GetClipboardFormat. No caso de várias seleções, você apenas ofereceria suporte aos formatos compostos. Isso permite que o ambiente para o formato de gravação no formulário: < contagem de itens >< xyz variante de item1 selecionado >< xyz variante de item2 selecionado >.

Há suporte para somente determinados tipos de VARIANTE podem ser persistente. Para obter mais informações, consulte CComVariant::WriteToStream.

No caso de única seleção, sua lista de objetos é livre para fornecer formatos tradicionais e compostos e é chamada respectivamente em GetClipboardFormat ou GetExtendedClipboardVariant para cada um.

O Class View e Pesquisador de objetos fornecer automaticamente um CF_NAVINFO e um CF_TEXT/CF_UNICODETEXT Formatar, isso EnumClipboardFormats não deve retornar esses valores.

Confira Também

Interface IVsObjectList2
Namespace Microsoft.VisualStudio.Shell.Interop

Retornar ao início