Navigation Log - なびろぐ -
2008/10/08

...X680x0 spirit inside...

この日記はGNSで生成しています。
この日記の画像はOPTPiX webDesigner Ver.4で生成しています。

hauN
Go amazon.co.jp

■ご注文リストから■ [一覧]
■Amazonギフト券■ [購入]
コクヨ クリヤーブック 固定式 青 A4縦 40枚 ラ-B40B []
コクヨ クリヤーブッ...
Amazonほしい物リスト


2008/10/08 (水) 雨後曇

CoInitialize() (PC)

_ 数ヶ月前からずっとハマっていた問題が、CoInitialize()が原因と判明。

_ 具体的には、IShellFolder->EnumObjects()をVistaでネットワークフォルダに対して実行するとフリーズして帰って来なくなる。

_ 判明したのはSHBrowseForFolder()の挙動。WinMain()とスレッド先頭でCoInitialize()してあれば十分だろうと思っていたら、同様にメインプロセスのDllMain()ででCoInitialize()したままのDLLをリンクしたあとでSHBrowseForFolder()でネットワークフォルダを開くとVistaだけフリーズするという。

_ 試行錯誤の結果、CoInitialize()〜CoUninitialize()をわりと小さい範囲で使うようにすることで解決したっぽい。COMの都合ってのはわからんでもないが、もう少しちゃんとドキュメントしてもらえないもんだろうか。





メールはこちらへ...[後藤浩昭 / Hiroaki GOTO / GORRY / gorry@hauN.org]

「表紙へ戻る」
「会議室」 「最新版」 「なびろぐindex」 「GNSソースを読む」