C/C++ DLL SDK を使用すると、次のようになります。
INT CmdGetAllLog( BYTE *bStream, UINT16 *nCount, const UINT8 nblk )
しかし、プロジェクトではc#を使用します。私はそれを次のように行います:
[DllImport("C:\\PrBioApi.dll", EntryPoint = "CmdGetAllLog")]
private static extern bool CmdGetAllLog(IntPtr bStream, ref UInt16 nCount, byte nblk);
そして私はそれを使用します:
int nMallocSize = Marshal.SizeOf(new LOG_RECORD()) * stuSystem.wLogCnt + 4096;
byte[] pRecord = new byte[nMallocSize];
IntPtr p = Marshal.AllocHGlobal(Marshal.SizeOf(nMallocSize));
Marshal.Copy(pRecord, 0, p, pRecord.Length);
bGetSucc = CmdGetAllLog(p, ref nGet, nBlk++);
Marshal.FreeHGlobal(p);
しかし、うまくいきませんでした。誰でも私を助けることができますか?ありがとう。