IVsObjectList2.EnumClipboardFormats 方法

针对原始列表中枚举其支持的剪贴板格式。

命名空间:  Microsoft.VisualStudio.Shell.Interop
程序集:  Microsoft.VisualStudio.Shell.Interop.8.0(在 Microsoft.VisualStudio.Shell.Interop.8.0.dll 中)

语法

声明
Function EnumClipboardFormats ( _
    index As UInteger, _
    grfFlags As UInteger, _
    celt As UInteger, _
    <OutAttribute> rgcfFormats As VSOBJCLIPFORMAT(), _
    <OutAttribute> pcActual As UInteger() _
) As Integer
int EnumClipboardFormats(
    uint index,
    uint grfFlags,
    uint celt,
    VSOBJCLIPFORMAT[] rgcfFormats,
    uint[] pcActual
)

参数

  • index
    类型:System.UInt32
    [in] 指定列表项的索引相关。
  • celt
    类型:System.UInt32
    [in] 指定元素计数 rgcfFormats。
  • pcActual
    类型:array<System.UInt32[]
    [out] 对计数的指针在 rgcfformats 数组的布局确实返回。

返回值

类型:System.Int32
如果方法成功,则返回 S_OK。如果失败,它会返回一个错误代码。

备注

COM 签名

从 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
);

该环境支持三种标准剪贴板格式: CF_NAVINFOCF_TEXTCF_UNICODETEXT。 可以创建和注册自己的剪贴板格式。 有关 OLE 剪贴板格式实现和注册的信息,请参见中的 MSDN Library 的 Platform SDK 文档中的 Clipboard Formats

该环境调用 EnumClipboardFormat的获取的剪贴板格式列出了针对拖动放置复制和粘贴操作的支持。 该环境首次调用 EnumClipboardFormats (index, grfFlags, 0, null, pcActual) 获取计数列表提供的剪贴板格式。 然后分配大小 pcActual,然后调用 EnumClipboardFormats (index、 grfFlags、 pcActual、 rcgfFormats, pcActual)。

包含备份格式的 VSOBJCLIPFORMAT framework 加载 rgcfformats 数组。 每 VSOBJCLIPFORMAT 采用的布局,类型的媒体,并且,该格式是否复合一个。 复合格式,环境将处于调用 GetExtendedClipboardVariant之后执行实际呈现。 否则,列表。 GetClipboardFormat进行呈现。 在多重选择,只会支持复合格式。 这可使该环境编写布局在窗体中: count of itemsxyz variant from selected item1xyz variant from selected item2.

可以保持仅的一些不同类型的支持。 有关更多信息,请参见 CComVariant::WriteToStream

在单选种情况下,分别在 GetClipboardFormatGetExtendedClipboardVariant 对象列表可以自由提供旧的及复合格式和调用每个的。

类视图对象浏览器 自动提供 CF_NAVINFO 和一个 CF_TEXT/CF_UNICODETEXT 格式,因此, EnumClipboardFormats 不应返回这些值。

.NET Framework 安全性

请参见

参考

IVsObjectList2 接口

Microsoft.VisualStudio.Shell.Interop 命名空间