windows的桌面搜索中的一个功能是根据内容搜索文件,但是面对不同的文件有不同的文件格式,他是怎么实现对多种文件格式的支持的呢?
它的秘密武器就是文本过滤器。在注册表中可以为每种文件格式指定它的过滤器组件接口的CLSID,例如:
HKEY_CLASSES_ROOT/.htm/PersistentHandler/{eec97550-47a9-11cf-b952-00aa0051fe20}
根据该CLSID可以创建一个接口实例,且该接口都是实现了标准接口IPersistFile,通过接口IPersistFile可以获得对应格式类型文件的纯文本。