/// <summary> /// The get device descriptor. /// </summary> /// <param name="handle"> /// The handle. /// </param> /// <param name="path"> /// The path. /// </param> /// <returns> /// The <see cref="UsbDeviceDescriptor"/>. /// </returns> internal static UsbDeviceDescriptor GetDeviceDescriptor(IntPtr handle, string path) { var deviceDesc = new UsbDeviceDescriptor { DevicePath = path }; uint transfered; WinUsb_GetDescriptor(handle, 0x01, 0, 0, out deviceDesc, (uint)Marshal.SizeOf(deviceDesc), out transfered); return(deviceDesc); }
internal static extern bool WinUsb_GetDescriptor(IntPtr interfaceHandle, byte descriptorType, byte index, ushort languageId, out UsbDeviceDescriptor deviceDesc, uint bufferLength, out uint lengthTransfered);