アプリケーションで呼び出して使用する必要があるこのメソッドがありますが、それを正確に行う方法が本当にわかりません。
これは私が呼び出す必要がある関数です。
[DllImport(dll_Path)]
public static extern int DTS_GetDataToBuffer(int Position, int Length, char* Buffer, int* DataRead);
私のコードにはこの関数があり、その実装がありません。
internal static void GetDataToBuffer(int position, int length, out byte[] data, out int dataRead)
{
unsafe
{
// the code I need
}
}
これのほとんどは非常に自明だと思います。後者の関数を実装する必要があるので、データをバッファに読み込めるようになり、読み込んだデータの量 (これは実際には data.Length と同じになるはずですが、メーカーはこれを別のオプションとして持っているので、それが必要です) )。誰でも助けることができますか?これは十分に明確ですか?
ありがとうございました
編集: .h ファイルからのアンマネージ宣言は次のとおりです。それが役に立てば幸い。
extern NAG_DLL_EXPIMP int DTS_GetDataToBuffer(int Position,
int Length,
unsigned char *Buffer,
int *DataRead );
編集 #2: 位置 - データの読み取りを開始する位置。長さ - 読み取るデータの量 (これはバッファー サイズになります)。DataRead - 読み取られた実際のデータ サイズ。