C# コードを書いていますが、アンマネージ C++ ライブラリを呼び出す必要があるコードがあります。
ライブラリのヘッダーにある署名はこのようなものです
bool GetValueFromFile(char* sPathToFile, char* &sResult);
これを C# で翻訳する必要がある署名は何ですか? 私は試した:
bool GetValueFromFile(string filePath, ref string result)
しかし、うまくいきません。例外はなく、戻り値は true です。ただし、文字列の結果は null のままです。out string result
またはについても同様ですStringBuilder result
。
Marshal.GetDelegateForFunctionPointer を使用して、関数ポインターをデリゲートとして取得します。