22 PURB Urb, ConfigurationUrb;
37 DPRINT1(
"Failed to start the RootHub PDO\n");
73 DPRINT1(
"Failed to get hub device descriptor with Status %x!\n",
Status);
98 DPRINT1(
"Failed to get hub configuration descriptor with status %x\n",
Status);
138 DPRINT1(
"Failed to get Hub Descriptor Status %x!\n",
Status);
170 Index, 0, -1, -1, -1);
179 if (ConfigurationUrb ==
NULL)
182 DPRINT1(
"Failed to build configuration urb\n");
195 DPRINT1(
"Failed to get Hub Descriptor Status %x!\n",
Status);
struct _URB_CONTROL_VENDOR_OR_CLASS_REQUEST UrbControlVendorClassRequest
USB_DEVICE_DESCRIPTOR HubDeviceDescriptor
#define STATUS_INSUFFICIENT_RESOURCES
USB_HUB_DESCRIPTOR HubDescriptor
#define IOCTL_INTERNAL_USB_SUBMIT_URB
_In_ PUSBD_INTERFACE_LIST_ENTRY InterfaceList
USB_ENDPOINT_DESCRIPTOR HubEndPointDescriptor
#define USBD_TRANSFER_DIRECTION_IN
NTSTATUS USBHUB_ParentFDOStartDevice(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
PDEVICE_OBJECT LowerDeviceObject
struct _HUB_DEVICE_EXTENSION * PHUB_DEVICE_EXTENSION
#define UsbBuildGetDescriptorRequest(urb, length, descriptorType, descriptorIndex, languageId, transferBuffer, transferBufferMDL, transferBufferLength, link)
#define UsbBuildVendorRequest(urb, cmd, length, transferFlags, reservedbits, request, value, index, transferBuffer, transferBufferMDL, transferBufferLength, link)
#define URB_FUNCTION_CLASS_DEVICE
#define USB_DEVICE_DESCRIPTOR_TYPE
#define USB_CONFIGURATION_DESCRIPTOR_TYPE
#define USB_INTERFACE_DESCRIPTOR_TYPE
PUSB_INTERFACE_DESCRIPTOR NTAPI USBD_ParseConfigurationDescriptorEx(PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor, PVOID StartPosition, LONG InterfaceNumber, LONG AlternateSetting, LONG InterfaceClass, LONG InterfaceSubClass, LONG InterfaceProtocol)
#define NT_SUCCESS(StatCode)
static const UCHAR Index[8]
DRIVER_DISPATCH ForwardIrpAndWait
ASSERT((InvokeOnSuccess||InvokeOnError||InvokeOnCancel) ?(CompletionRoutine !=NULL) :TRUE)
#define STATUS_UNSUCCESSFUL
#define USB_REQUEST_GET_DESCRIPTOR
#define ExAllocatePool(type, size)
#define USB_ENDPOINT_DESCRIPTOR_TYPE
#define USB_DEVICE_CLASS_RESERVED
USBD_PIPE_HANDLE PipeHandle
IN PDEVICE_OBJECT DeviceObject
USB_CONFIGURATION_DESCRIPTOR HubConfigDescriptor
#define USBD_SHORT_TRANSFER_OK
struct _URB_SELECT_CONFIGURATION UrbSelectConfiguration
PUSB_INTERFACE_DESCRIPTOR InterfaceDescriptor
USB_INTERFACE_DESCRIPTOR HubInterfaceDescriptor
USBD_CONFIGURATION_HANDLE ConfigurationHandle
#define RtlZeroMemory(Destination, Length)
struct _URB_CONTROL_DESCRIPTOR_REQUEST UrbControlDescriptorRequest
PURB NTAPI USBD_CreateConfigurationRequestEx(PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor, PUSBD_INTERFACE_LIST_ENTRY InterfaceList)
USB_EXTHUB_INFORMATION_0 UsbExtHubInfo
NTSTATUS SubmitRequestToRootHub(IN PDEVICE_OBJECT RootHubDeviceObject, IN ULONG IoControlCode, OUT PVOID OutParameter1, OUT PVOID OutParameter2)
#define USB_ENDPOINT_TYPE_INTERRUPT