我已成功获得IPropertyBag
用于文件夹的 View 状态。我使用 SHGetViewStatePropertyBag
获得它,并且我通过检查一些属性值确认包是有效的。
如果可能的话,我现在想做的是将属性包作为 blob 保存到磁盘上。我一直在跑QueryInterface
在包上,我一直无法获得任何有用的接口(interface)。不幸的是,属性包似乎不支持 IPersistStream
界面。而且我一直没能成功查询到IPersistPropertyBag
界面也可以。
为属性包获取某种持久接口(interface)是否有技巧?还是本质上必须以临时方式单独保存属性?提前感谢您的任何指导。
最佳答案
调用Write
在 IPropertyBag
应该自动将更改写入磁盘。
一般情况下,IPersistXXX 接口(interface)是由可以将自己保存到 XXX 中的对象实现的(其中 XXX 是 Stream 或 PropertyBag),同时 IPropertyBag
和 IStream
期望得到某种东西的支持——磁盘、内存块或套接字。
还是想从袋子里拿出所有属性(property)并以某种方式将它们保存在其他地方?在这种情况下,您需要查询 IPropertyBag2
并列举它们。
关于c++ - 如何将 IPropertyBag 持久化到磁盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62456006/