Пример #1
0
        public bool HidWrite(Hid_Devices HidDev, byte[] OUTBuffer)
        {
            uint BytesWritten = 0;

            WriteFile(HidDev.WriteHandle, OUTBuffer, (uint)HidDev.Caps.OutputReport, ref BytesWritten, IntPtr.Zero);
            return(HidDev.Caps.OutputReport == BytesWritten);
        }
Пример #2
0
 public bool HidReadCancel(ref Hid_Devices HidDev)
 {
     if (HidDev.ReadHandle == null)
     {
         return(false);
     }
     return(CancelIoEx(HidDev.ReadHandle, IntPtr.Zero));
 }
Пример #3
0
        private void HidDevices_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (HidDevices.SelectedItems.Count < 1)
            {
                return;
            }

            ReadThread_Stop();

            SelectedHid        = UsbHid.HidDevices[HidDevices.Items.IndexOf(HidDevices.SelectedItems[0])];
            SendGroup.Enabled  = !SelectedHid.WriteHandle.IsClosed;
            SendGroup.Enabled &= (SelectedHid.Caps.OutputReport > 0);
            Logs.Text          = "";

            if (!ReadThread.IsBusy)
            {
                ReadThread.RunWorkerAsync();
            }
        }
Пример #4
0
        public bool HidRead(ref Hid_Devices HidDev)
        {
            uint BytesRead = 0;

            return(ReadFileManagedBuffer(HidDev.ReadHandle, HidDev.ReadBuffer, (uint)HidDev.Caps.InputReport, ref BytesRead, IntPtr.Zero));
        }