0

MFC アプリケーションでコピー アンド ペースト機能を実装するには、AfxOleInit() メソッドを呼び出します。

また、RAPI を使用して Windows Mobile デバイスと通信します。

AfxOleInit を使用しない場合は問題ありません。

しかし、AfxOleInit が実際に実行されるとすぐに、次のシーケンスが再現されます。

  • モバイル デバイスはクレードルにあり、Windows Mobile Device Center (WMDC) を介して PC に正しく接続され、CeRapiInitEx と CeRapiUninit が正常に完了します。
  • モバイルをクレードルから取り外し、WMDC から切断します
  • モバイルをクレードルに置き、CeRapiInitEx と CeRapiUninit が正常に完了しました。
  • モバイルをクレードルから取り外し、WMDC から切断します
  • その瞬間、Visual Studio の [出力] タブにメッセージが表示されます:「RPC サーバーを利用できません」
  • モバイルがクレードルにあることを確認すると、今度は CeRapiInitEx が「RPC サーバーが利用できません」という戻り値で失敗します。

RAPI dll 関数への呼び出しを含むコードを配置しようとしました。

  • MFC アプリケーションで直接、

  • DLLで、

  • ActiveX で

すべてのケースでエラーを再現します。

このコードが、MFC アプリケーションから CreateProcess を介して起動された別のプロセスに配置されている場合、エラーは発生しないことに注意してください。

このエラーを再現するアプリケーションは、次のアドレスからダウンロードできます: http://iode-informatique.com/tests/winmob_mfc/rapi_test_app.zip

AfxOleInit の呼び出しをコメント化すると、エラーは発生しないことに注意してください。

よろしくお願いします。

4

0 に答える 0