最終更新:2017-12-19 (火) 14:47:47 (723d)  

プラットフォーム呼び出し/配列 はてなブックマークを見る

unsigned char* (BYTE*?)

  • Marshal.AllocHGlobal
  • Marshal.Copy
  • IntPtr
            [DllImport("thedll")]
            public static extern void TheCall(IntPtr byteArray, int size);
    
            public void PerformCall(byte[] data)
            {
                IntPtr unmanagedArray = Marshal.AllocHGlobal(data.Length);
                Marshal.Copy(data, 0, unmanagedArray, data.Length);
    
                TheCall(unmanagedArray, data.Length);
    
                Marshal.FreeHGlobal(unmanagedArray);
            }