1

既存のアプリケーションが私のクラス ライブラリをインポートしようとしています。C++ よりも C# の方が経験が豊富なので、C# でこれを実行しようとしています。既存のアプリケーションでは、コードが管理されているため、C# では本来使用できない __stdcall を使用しています。RGiesecke.DllExport というライブラリを使用して、アンマネージド エクスポートを行います。

[DllExport("LibraryOpen", CallingConvention = System.Runtime.InteropServices.CallingConvention.StdCall)]
static int LibraryOpen(int* session, char* description)
{
    //I need to fill description here.
}

C/C++ の関数のサンプル ヘッダーがあります。

typedef int (__stdcall *LibraryOpen)(int *session, WCHAR *description);

この関数の目的は、説明ポインターにライブラリーの簡単な説明を入力することです。

問題は、ここで char* が適切に使用されるかどうかわからないことと、このポインターに文字列を入力する方法がわからないことです。

誰かがこれで私を助けてくれることを願っています。

4

0 に答える 0