カスタムファイルタイプ用のWindowsエクスプローラーサムネイルハンドラーを作成しようとしています。プレビューペインではこれは正常に機能していますが、サムネイルで機能させるのに問題があります。
Windowsは、DllGetClassObjectエントリポイントを呼び出そうとしていないようです。
続行する前に、Windows7とアンマネージC++を使用していることに注意してください。
レジストリに次の値を登録しました。
HKCR\CLSID\<my guid>
HKCR\CLSID\<my guid>\InprocServer32 (default value = path to my DLL)
HKCR\CLSID\<my guid>\InprocServer32\ThreadingModel (value = "Apartment")
HKCR\.<my ext>\shellex\{E357FCCD-A995-4576-B01F-234630154E96} (value = my guid)
Win SDKサンプルも使用してみましたが、機能しません。また、この記事のサンプルプロジェクト(http://www.codemonkeycodes.com/2010/01/11/ithumbnailprovider-re-visited/)も機能しません。
私はシェルプログラミングに慣れていないので、これをデバッグする最良の方法がよくわかりません。デバッガーをexplorer.exeにアタッチしようとしましたが、機能していないようです(ブレークポイントが無効になり、OutputDebugStringsが出力ウィンドウに表示されません)。シェルをデバッグするためにWinSDKドキュメントで説明されているようにレジストリに「DesktopProcess」を設定しようとしましたが、タスクマネージャーにexplorer.exeが1つしか表示されないため、「可能性があります」とは言えません。デバッグしますか?
これに関する助けをいただければ幸いです。
よろしく、ダン。