private static Structs.BdAddrStruFields6 MakeBdAddrStruct6f(byte[] BD_ADDR) { var stru = new Structs.BdAddrStruFields6(); stru.b0 = BD_ADDR[0]; stru.b1 = BD_ADDR[1]; stru.b2 = BD_ADDR[2]; stru.b3 = BD_ADDR[3]; stru.b4 = BD_ADDR[4]; stru.b5 = BD_ADDR[5]; 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(); }