C# .NET アプリケーションから呼び出したい C で記述されたレガシー DLL があります。問題は、C DLL の DLL インターフェイスがかなり複雑なことです。それは次のようなものです:
__declspec(dllexport) void __stdcall ProcessChunk(
void *p_prochdl,
const BIG_INPUT_STRC *p_inparams,
BIG_OUTPUT_STRC *p_outparams
);
BIG_INPUT_STRC/BIG_OUTPUT_STRC には、あらゆる種類のものが含まれています...バッファ配列へのポインタ、列挙型パラメータ、整数パラメータなどです。要するに、それらは複雑です。
最初の質問: DLL ヘッダー ファイルに含まれるすべての構造情報を C# クラスに取得する簡単な方法はありますか? それとも、文字通りすべてを C# にコピー アンド ペーストして再定義する必要がありますか? これは冗長に思えます。
それに関連して、C# からアンマネージ DLL に構造体を渡す正しい方法は何ですか?
最後に、バッファー配列を C# からアンマネージ DLL に正しく渡す方法の例はありますか? または、2 次元配列を DLL に渡すにはどうすればよいですか?
ありがとう - グレッグ