我已成功获取文件夹视图状态的IPropertyBag
。 我使用SHGetViewStatePropertyBag
获得了它,并且我已经通过检查一些属性值确认该包是有效的。
如果可能,我现在要做的是将属性包作为 blob 保存到磁盘。 我一直在包上运行QueryInterface
,但我无法获得任何有用的接口。 不幸的是,属性包似乎不支持IPersistStream
接口。 而且我也无法成功查询IPersistPropertyBag
接口。
有没有为属性包获取某种持久接口的技巧? 还是必须以临时方式单独保存属性? 提前感谢您的任何指导。
在IPropertyBag
上调用Write
应该会自动将更改写入磁盘。
通常,IPersistXXX 接口由可以将自身保存到 XXX 中的对象实现(其中 XXX 是 Stream 或 PropertyBag(,同时IPropertyBag
和IStream
应该由某些东西支持——磁盘、内存块或套接字。
还是想从袋子里拿走所有财产并以某种方式将它们保存在其他地方?在这种情况下,您需要查询IPropertyBag2
并枚举它们。