既存のアプリケーションが私のクラス ライブラリをインポートしようとしています。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* が適切に使用されるかどうかわからないことと、このポインターに文字列を入力する方法がわからないことです。
誰かがこれで私を助けてくれることを願っています。