none
ASP.NETでIMEのCOMに対してインスタンスを生成しようとするとエラー(インターフェイスがサポートされていません-0x80004002)が発生する。 RRS feed

  • 質問

  • お世話になっております。

    下記の環境で開発を行っています。

    ------------------------------------

    Windows 7 64bit

    Visual Studio 2010(.Net Framework4.0)

    IIS.7.5

    ------------------------------------

    ASP.NET(C#)のプログラムにて、IFELanguage COMインターフェースのインスタンスを生成しようとすると、

    次のエラーが発生します。

    スタック トレース:

    [Win32Exception (0x80004005): インターフェイスがサポートされていません]


    System.Web.UI.WebControls.Button.OnClick(EventArgs e) +118
    System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +112
    System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
    System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
    System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5563

    IFELanguage COMをラップするクラスを作成して、ラップクラスからCoCreateInstanceをコールしているのですが、

    WPFアプリケーションでは問題なく動作しました。

    ↓CoCreateInstanceの定義↓

    [MarshalAs(UnmanagedType.LPWStr)] string lpsz, out Guid clsid);
            [DllImport("ole32.dll")]
            public static extern int CoCreateInstance(
                [In, MarshalAs(UnmanagedType.LPStruct)] Guid clsid,
                IntPtr pUnkOuter,
                uint dwClsContext,
                [In, MarshalAs(UnmanagedType.LPStruct)] Guid iid,
                out IntPtr pv);

    64bit OSなのでプラットフォームターゲットなどを変更して試してみたのですが、

    エラーの内容は変わりませんでした。

    WPFでは動作したのでIISやASP.NETあたりのセキュリティの設定が原因なのかもしれませんが、

    どう対処していいのかわからない状態です。

     

    ご教授のほど、宜しくお願い致します。

     

     

     

     

     

     

     

     

     

    2010年5月14日 6:00