public bool Read(ref byte[] data) { var count = default(uint); data[0] = 0; return(HidPlatform.ReadFile(this.ReadHandle, data, (uint)data.Length, ref count, IntPtr.Zero)); }
private static IntPtr SetupDiGetClassDevs() { return(HidPlatform.SetupDiGetClassDevs( ref HID, 0, IntPtr.Zero, HidPlatform.DIGCF_PRESENT | HidPlatform.DIGCF_DEVICEINTERFACE )); }
public void Close() { if (this.ReadHandle != IntPtr.Zero && HidPlatform.CloseHandle(this.ReadHandle) == 1) { this.ReadHandle = IntPtr.Zero; } if (this.WriteHandle != IntPtr.Zero && HidPlatform.CloseHandle(this.WriteHandle) == 1) { this.WriteHandle = IntPtr.Zero; } }
private static bool SetupDiGetDeviceInterfaceDetail(IntPtr devices, ref HidPlatform.SP_DEVICE_INTERFACE_DATA deviceInterface, uint size, IntPtr data) { return(HidPlatform.SetupDiGetDeviceInterfaceDetail( devices, ref deviceInterface, data, size, out size, IntPtr.Zero )); }
public bool Write(byte[] data, bool input = false) { if (input) { return(HidPlatform.HidD_SetOutputReport(this.ReadHandle, data, (uint)data.Length)); } else { var count = default(uint); return(HidPlatform.WriteFile(this.WriteHandle, data, (uint)data.Length, ref count, IntPtr.Zero)); } }
public bool Read(ref byte[] data, bool input = false) { data[0] = 0; if (input) { return(HidPlatform.HidD_GetInputReport(this.ReadHandle, data, (uint)data.Length)); } else { var count = default(uint); return(HidPlatform.ReadFile(this.ReadHandle, data, (uint)data.Length, ref count, IntPtr.Zero)); } }
private static uint SetupDiGetDeviceInterfaceDetail(IntPtr devices, ref HidPlatform.SP_DEVICE_INTERFACE_DATA deviceInterface) { var size = default(uint); HidPlatform.SetupDiGetDeviceInterfaceDetail( devices, ref deviceInterface, IntPtr.Zero, 0, out size, IntPtr.Zero ); return(size); }
private void OpenDevice(string devicePath) { this.ReadHandle = HidPlatform.CreateFile( devicePath, HidPlatform.FILE_ACCESS_READ, HidPlatform.FILE_SHARE_READ | HidPlatform.FILE_SHARE_WRITE, 0, HidPlatform.FILE_CREATION_DISPOSITON_OPEN_EXISTING, 0, 0 ); this.WriteHandle = HidPlatform.CreateFile( devicePath, HidPlatform.FILE_ACCESS_WRITE, HidPlatform.FILE_SHARE_READ | HidPlatform.FILE_SHARE_WRITE, 0, HidPlatform.FILE_CREATION_DISPOSITON_OPEN_EXISTING, 0, 0 ); }
static HidDevice() { HidPlatform.HidD_GetHidGuid(out HID); }