C# アプリケーションで ATL COM DLL メソッドを使用するのを手伝ってください
ATLLib.idl で
...
interface IATLLibMain : IUnknown{
[helpstring("method hello")] HRESULT hello([out,retval] BSTR* res);
};
...
ATLLibMain.cpp (ATLSimpleObject
クラス)内
STDMETHODIMP CATLLibMain::hello(BSTR* res)
{
*res = SysAllocString(L"Hello world!!!");
return S_OK;
}
COMをコンパイルして登録しました。C# プロジェクトで、ATLLib.dll への参照を追加し、このような呼び出しメソッドを試行
IATLLibMain atllib = new ATLLibMainClass();
Console.WriteLine(atllib.hello());
そしてVSはエラーを出します
タイプの未処理の例外が
System.Runtime.InteropServices.COMException
ATLLibTest.exe で発生しました。次のエラー 80040154 が原因で、CLSID {...} を持つコンポーネントの COM クラス ファクトリを取得できませんでした。
オンライン
IATLLibMain atllib = new ATLLibMainClass();
C# アプリケーションで ATL DLL を使用するプロジェクト サンプルを表示するか、このエラーの修正に役立ててください。ありがとう...