C++ IThumbnailProvider和IInitializeWithItem
我正在尝试开发一个用于Windows7的C++ IThumbnailProvider和IInitializeWithItem,c++,com,thumbnails,windows-shell,C++,Com,Thumbnails,Windows Shell,我正在尝试开发一个用于Windows7的IThumbnailProvider。由于这个特定的缩略图还依赖于同一目录中的其他一些文件,因此我需要使用除IInitializeWithStream之外的其他内容来处理路径,即IInitializeWithItem。(或者,我可以使用IInitializeWithFile,但这显然更不受欢迎。) 不管我做什么,我都不能让它工作。我有微软的FileTypeVerifier.exe工具,它为使用IInitializeWithItem打开了绿灯,但当explo
IThumbnailProvider
。由于这个特定的缩略图还依赖于同一目录中的其他一些文件,因此我需要使用除IInitializeWithStream
之外的其他内容来处理路径,即IInitializeWithItem
。(或者,我可以使用IInitializeWithFile
,但这显然更不受欢迎。)
不管我做什么,我都不能让它工作。我有微软的FileTypeVerifier.exe
工具,它为使用IInitializeWithItem
打开了绿灯,但当explorer调用它时,它似乎只尝试了IInitializeWithStream
。(这是通过临时实现所述接口并在其Initialize()
中发出蜂鸣声()来测试的)我是否忘记配置某些东西了
简言之:我该如何让它工作?好的,我终于发现了问题所在。要引用MSDN网站上的构建缩略图提供程序链接: 在某些情况下,无法使用流进行初始化。在缩略图提供程序未实现IIInitializeWithStream的场景中,当流发生更改时,它必须选择不在系统索引器默认放置它的隔离进程中运行。要退出进程隔离功能,请设置以下注册表值
- HKEY_类_根
- CLSID
- {66742402-F9B9-11D1-A202-0000F81FEDEE} 禁用进程隔离=1