


WinUsb_QueryInterfaceSettings, temp_handle_winusb, c_ubyte(0), Interface_descriptor = UsbInterfaceDescriptor() WinUsb_GetAssociatedInterface, self.handle_winusb,Ĭ_ubyte(index), byref(temp_handle_winusb)) Result = _function_winusb(WinUsb_QueryDeviceInformation,ĭef query_interface_settings(self, index): Return result_file != 0 and result_winusb != 0 Result_winusb = _function_winusb(WinUsb_Free, Result_file = _function_kernel32(Close_Handle,

Result = _function_winusb(WinUsb_Initialize, If self.handle_file = INVALID_HANDLE_VALUE: Self.handle_file = _function_kernel32(ĬreateFile, path, GENERIC_WRITE | GENERIC_READ,įILE_SHARE_WRITE | FILE_SHARE_READ, None, OPEN_EXISTING,įILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED, None) Path = filter(self.find_device, vice_paths) Return is_device(self._vid, self._pid, path) SetupDiGetDeviceInterfaceDetail, self.handle,īyref(sp_device_interface_detail_data), required_size,īyref(required_size), byref(sp_device_info_data)):īyref(sp_device_interface_detail_data, sizeof(DWORD))) SpDeviceInterfaceDetailData) - sizeof(WCHAR * 1) Sp_device_interface_detail_data.cb_size = sizeof( Resize(sp_device_interface_detail_data, required_size.value) _function_setupapi(SetupDiGetDeviceInterfaceDetail, While _function_setupapi(SetupDiEnumDeviceInterfaces, Sp_device_info_data.cb_size = sizeof(sp_device_info_data) Sp_device_interface_detail_data = SpDeviceInterfaceDetailData() Sp_device_interface_data.cb_size = sizeof(sp_device_interface_data) Sp_device_interface_data = SpDeviceInterfaceData() Self.handle = _function_setupapi(SetupDiGetClassDevs,
