Beispiel #1
0
        public static HidPreparsedData GetPreparsedData(HidDeviceHandle device)
        {
            var deviceHandle = HidDeviceHandle.GetRawValue(device);

            HidD_GetPreparsedData(deviceHandle, out var preparsedData);

            return((HidPreparsedData)preparsedData);
        }
Beispiel #2
0
        public static bool TryOpenDevice(string devicePath, out HidDeviceHandle device)
        {
            var deviceHandle = CreateFile(devicePath, DesiredAccess.None, ShareMode.Read | ShareMode.Write, IntPtr.Zero, CreateDisposition.OpenExisting, 0, IntPtr.Zero);

            if (deviceHandle == new IntPtr(-1))
            {
                device = HidDeviceHandle.Zero;
                return(false);
            }

            device = (HidDeviceHandle)deviceHandle;
            return(true);
        }
Beispiel #3
0
        public static bool TryOpenDevice(string devicePath, out HidDeviceHandle device)
        {
            if (!Kernel32.TryCreateFile(
                    devicePath,
                    Kernel32.ShareMode.Read | Kernel32.ShareMode.Write,
                    Kernel32.CreateDisposition.OpenExisting,
                    out var deviceHandle))
            {
                device = HidDeviceHandle.Zero;
                return(false);
            }

            device = (HidDeviceHandle)deviceHandle;
            return(true);
        }
Beispiel #4
0
        public static string GetProductString(HidDeviceHandle device)
        {
            var deviceHandle = HidDeviceHandle.GetRawValue(device);

            return(GetString(deviceHandle, HidD_GetProductString));
        }
Beispiel #5
0
        public static void CloseDevice(HidDeviceHandle device)
        {
            var deviceHandle = HidDeviceHandle.GetRawValue(device);

            Kernel32.CloseHandle(deviceHandle);
        }