none
CreateInstanceで0x800401f0のエラーが発生する RRS feed

  • 質問

  • こんにちは、

    CreateInstanceのエラーについての質問です。

    Visual Studio 2013  VC++でアプリケーションを作成しており、アプリケーションからIEを起動しています。
    ====

    void NewIE(int i, char *telno)
    {
    SHDocVw::IWebBrowser2Ptr pIE;
    char telno_p[128];

    //IEの起動

    HRESULT hr = pIE.CreateInstance(__uuidof(SHDocVw::InternetExplorer));

    :

    =====

    通常、CreateInstanceは、問題なく実行されるのですが、あるイベントを受け取ったときにCallback関数から
    上記関数を実行すると以下のエラーとなり、IEを起動できません。

    =====
    NewIE# CreateInstance error: 800401f0
    =====

    となってしまいます。

    回避方法あるいは回避するための情報をお持ちでないでしょうか?

    よろしくお願いいたします。

    2014年2月3日 2:18

回答

  • エラー番号 0x800401f0 は、CO_E_NOTINITIALIZED ですね。

    もしかして、コールバックというのは、別スレッド上で動いていたりしませんか?もしそうであれば、そのスレッドの起動直後に、CoInitialize() あるいは、CoInitializeEx() を呼び出すことで解決できると思います。


    とっちゃん@わんくま同盟, Microsoft MVP for Visual C++ (Oct 2005-) http://blogs.wankuma.com/tocchann/

    • 回答の候補に設定 星 睦美 2014年2月6日 2:13
    • 回答としてマーク 星 睦美 2014年2月12日 2:36
    2014年2月3日 2:29
  • 横からすみません。

    想定しているスレッドと違う状況なら、PostMessage などで本来のスレッドに投げ直してから実行した方が良さそうな気がします。
    そのスレッドが生き続ける保障があるかという点と、メッセージループが回るのかという点で不安に感じるため。

    • 回答の候補に設定 星 睦美 2014年2月6日 2:13
    • 回答としてマーク 星 睦美 2014年2月12日 2:36
    2014年2月3日 13:27
    モデレータ

すべての返信

  • エラー番号 0x800401f0 は、CO_E_NOTINITIALIZED ですね。

    もしかして、コールバックというのは、別スレッド上で動いていたりしませんか?もしそうであれば、そのスレッドの起動直後に、CoInitialize() あるいは、CoInitializeEx() を呼び出すことで解決できると思います。


    とっちゃん@わんくま同盟, Microsoft MVP for Visual C++ (Oct 2005-) http://blogs.wankuma.com/tocchann/

    • 回答の候補に設定 星 睦美 2014年2月6日 2:13
    • 回答としてマーク 星 睦美 2014年2月12日 2:36
    2014年2月3日 2:29
  • 横からすみません。

    想定しているスレッドと違う状況なら、PostMessage などで本来のスレッドに投げ直してから実行した方が良さそうな気がします。
    そのスレッドが生き続ける保障があるかという点と、メッセージループが回るのかという点で不安に感じるため。

    • 回答の候補に設定 星 睦美 2014年2月6日 2:13
    • 回答としてマーク 星 睦美 2014年2月12日 2:36
    2014年2月3日 13:27
    モデレータ
  • フォーラム オペレーターの星 睦美です。

    ytsukaha さん、こんにちは。
    返信がないようですので、フォーラムの回答者からの返信を手がかりに解決されたのではないかと思います。
    私のほうで[回答としてマーク] させていただきましたが、もし疑問や引き続き質問したい点がありましたら[回答としてのマークの解除] をして返信できます。

    これからもMSDN フォーラムをよろしくお願いします。


    フォーラム オペレーター 星 睦美 - MSDN Community Support

    2014年2月12日 2:40