我正在尝试创建PropertyHandler
shell扩展。
嵌入属性(标题,作者,.....)以在多台计算机或设备中使用同一文件的最佳方法是什么?
StgCreateStorageEx ?
种方法还是还有其他方法?
因为StgCreateStorageEx
仅处理NTFS
个文件,并且如果我在具有相同PropertyHandler
的其他设备中打开文件,则不确定该文件是否具有这些属性。
有什么方法可以在我的文件中保存属性?
答案 0 :(得分:1)
StgCreateStorageEx函数使用IStorage接口创建一个新的存储对象。这允许在单个二进制文件中存储多个数据对象,例如参见https://en.wikipedia.org/wiki/COM_Structured_Storage。因此,从技术上讲,您几乎可以在此文件中保存所有内容,包括嵌入式属性。
我不认为这仅限于NTFS:旧的Microsoft Office .doc格式(以及许多其他Microsoft产品)使用此存储格式,并且也可以使用FAT32。
如果要使用此二进制文件格式,则是完全不同的问题。由于您未提供有关文件内容和格式的任何信息,因此我不推荐任何东西。一种替代方法是将文件的内容存储在xml文件中。然后可以轻松添加标题和作者等属性。