我已经成功获取了文件夹 View 状态的IPropertyBag。我使用SHGetViewStatePropertyBag获得了它,并且通过检查一些属性值来确认袋子是有效的。

我现在想做的是,如果可能的话,将属性包作为blob持久保存到磁盘。我一直在袋子上运行QueryInterface,但无法获得任何有用的界面。不幸的是,似乎该属性包不支持IPersistStream接口(interface)。而且我也无法成功查询IPersistPropertyBag接口(interface)。

是否有一种技巧可以为属性包获得某种持久接口(interface)?还是本质上必须以临时方式单独保存属性?在此先感谢您的指导。

最佳答案

Write上调用IPropertyBag应该自动将更改写入磁盘。

通常,IPersistXXX接口(interface)由可以将自身保存到XXX(其中XXX是Stream或PropertyBag)的对象实现,同时IPropertyBagIStream预期由某种东西(磁盘,内存块或套接字)支持。

还是想从包中拿走所有属性(property)并以某种方式将其保存到其他地方?在这种情况下,您需要查询IPropertyBag2并枚举它们。

关于c++ - 如何将IPropertyBag持久保存到磁盘,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/62456006/

10-17 01:32