COM ..
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
187:デフォルトの名無しさん 08/02/21 16:24:48 このスレに住まわれるCOMの精霊様、 どうか以下の件についてお答えくださいませ。 VS2005でATLプロジェクトでWindowsサービスを作りましたが、 PreMessageLoop()の中で、以下のコードが無いとサービスが起動しません。 ----- if (SUCCEEDED(hr) && !m_bDelayShutdown) hr = CoResumeClassObjects(); ----- しかしサービスに1つでもCOMインタフェースを追加すると CoResumeClassObjects()がS_OK以外を返すようになります。 そこでCoResumeClassObjects()を呼び出さないようにしても、 サービスは起動してくれます。 なぜCOMインタフェースが自分で追加していない状態では CoResumeClassObjects()を呼ぶ必要があり、 COMインタフェースを追加すると呼ぶ必要がなくなるのでしょうか? 188:デフォルトの名無しさん 08/02/22 01:05:40 Effective COMには ・1つ以上のクラスをエクスポートしてるサービスが最初のCoregisterClassObjectの呼び出しで開始してしまうと、それらのクラスの初期化の問題が起きる場合がある ・このためREGCLS_SUSPENDフラグで起動を遅らせて、CoResumeClassObjectsで起動させる みたいなことはあったけど。 追加したときにフラグ上書きしたことになってるのではと想像。
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
5390日前に更新/59 KB
担当:undef