为什么OleFlushClipboard导致我的存储对象丢失其类ID?

时间:2017-11-02 15:59:37

标签: c# windows clipboard ole

我已经实现了一个IDataObject来编写"嵌入对象"数据到IStorage媒体以及预览的METAFILEPICTOBJECTDESCRIPTOR。该对象将OleSetClipboard传递给剪贴板。

我可以将其粘贴到Word中但是如果我调用OleFlushClipboard粘贴失败并出现错误" Word遇到了问题"。如果我获取对象IStorage,我可以看到它的类ID在刷新后已重置为CLSID_NULL。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

最后,在编写ClsID后,通过调用IStorage::Commit解决了问题。显然,由于某些原因,在我的特定用例中,更改并未正确写入剪贴板提供给我们的底层存储。