private static Structs.BdAddrStruArr6 MakeBdAddrStruct6a(byte[] BD_ADDR) { var stru = new Structs.BdAddrStruArr6(); stru.addr = new byte[6]; BD_ADDR.CopyTo(stru.addr, 0); return(stru); }
private static void TestStru6() { byte[] addrBytes = { 0xa4, 0x4c, 0x24, 0x98, 0x80, 0x00 }; Structs.BdAddrStruFields6 stru6f = MakeBdAddrStruct6f(addrBytes); Structs.BdAddrStruArr6 stru6a = MakeBdAddrStruct6a(addrBytes); var arr8 = new byte[8]; addrBytes.CopyTo(arr8, 0); Int64 addrInt64 = BitConverter.ToInt64(arr8, 0); int ret; // IntPtr PFn = (IntPtr)0x31234567; try { ret = NativeMethods_Test.GAP_Authenticate_Remote_Device( 0x12345678, addrBytes, PFn, 0x41234567); } catch (Exception ex) { } try { ret = NativeMethods_Test.GAP_Authenticate_Remote_Device( 0x12345678, stru6f, PFn, 0x41234567); } catch (Exception ex) { } try { ret = NativeMethods_Test.GAP_Authenticate_Remote_Device( 0x12345678, stru6a, PFn, 0x41234567); } catch (Exception ex) { } try { ret = NativeMethods_Test.GAP_Authenticate_Remote_Device( 0x12345678, addrInt64, PFn, 0x41234567); } catch (Exception ex) { } // var hLib = Widcomm.WidcommBtIf.NativeMethods.LoadLibraryEx( TestPinvokeTarget_Dll, IntPtr.Zero, 0); int gle = System.Runtime.InteropServices.Marshal.GetLastWin32Error(); }