IVsObjectList.EnumClipboardFormats 方法

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

命名空间:  Microsoft.VisualStudio.Shell.Interop
程序集:  Microsoft.VisualStudio.Shell.Interop(在 Microsoft.VisualStudio.Shell.Interop.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 签名

从 vsshell.idl:

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

该环境支持三种标准剪贴板格式: CF_NAVINFO、 CF_TEXT和 CF_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.

备注

只有某些持久不同的类型在中设置的 MSDN Library 的 Platform SDK 文档中的 CComVariant::WriteToStream 支持如中。

在单个某些情况下,分别在 GetClipboardFormatGetExtendedClipboardVariant 对象列表可以自由提供旧的及复合格式,并对每个的。

备注

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

.NET Framework 安全性

请参见

参考

IVsObjectList 接口

Microsoft.VisualStudio.Shell.Interop 命名空间