27 if (
Irp->PendingReturned)
113 IN ULONG FunctionDescriptorCount)
117 DPRINT(
"FunctionCount %lu\n", FunctionDescriptorCount);
121 DPRINT(
"FunctionNumber %lu\n", FunctionDescriptor[
Index].FunctionNumber);
122 DPRINT(
"HardwareId %S\n", FunctionDescriptor[
Index].HardwareId.Buffer);
123 DPRINT(
"CompatibleId %S\n", FunctionDescriptor[
Index].CompatibleId.Buffer);
124 DPRINT(
"FunctionDescription %wZ\n", &FunctionDescriptor[
Index].FunctionDescription);
125 DPRINT(
"NumInterfaces %lu\n", FunctionDescriptor[
Index].NumberOfInterfaces);
127 for(SubIndex = 0; SubIndex < FunctionDescriptor[
Index].NumberOfInterfaces; SubIndex++)
129 DPRINT(
" Index %lu Interface %p\n", SubIndex, FunctionDescriptor[
Index].InterfaceDescriptorList[SubIndex]);
130 DPRINT(
" Index %lu Interface InterfaceNumber %x\n", SubIndex, FunctionDescriptor[
Index].InterfaceDescriptorList[SubIndex]->bInterfaceNumber);
131 DPRINT(
" Index %lu Interface Alternate %x\n", SubIndex, FunctionDescriptor[
Index].InterfaceDescriptorList[SubIndex]->bAlternateSetting );
132 DPRINT(
" Index %lu bLength %x\n", SubIndex, FunctionDescriptor[
Index].InterfaceDescriptorList[SubIndex]->bLength);
133 DPRINT(
" Index %lu bDescriptorType %x\n", SubIndex, FunctionDescriptor[
Index].InterfaceDescriptorList[SubIndex]->bDescriptorType);
134 DPRINT(
" Index %lu bInterfaceNumber %x\n", SubIndex, FunctionDescriptor[
Index].InterfaceDescriptorList[SubIndex]->bInterfaceNumber);
135 DPRINT(
" Index %lu bAlternateSetting %x\n", SubIndex, FunctionDescriptor[
Index].InterfaceDescriptorList[SubIndex]->bAlternateSetting);
136 DPRINT(
" Index %lu bNumEndpoints %x\n", SubIndex, FunctionDescriptor[
Index].InterfaceDescriptorList[SubIndex]->bNumEndpoints);
137 DPRINT(
" Index %lu bInterfaceClass %x\n", SubIndex, FunctionDescriptor[
Index].InterfaceDescriptorList[SubIndex]->bInterfaceClass);
138 DPRINT(
" Index %lu bInterfaceSubClass %x\n", SubIndex, FunctionDescriptor[
Index].InterfaceDescriptorList[SubIndex]->bInterfaceSubClass);
139 DPRINT(
" Index %lu bInterfaceProtocol %x\n", SubIndex, FunctionDescriptor[
Index].InterfaceDescriptorList[SubIndex]->bInterfaceProtocol);
140 DPRINT(
" Index %lu iInterface %x\n", SubIndex, FunctionDescriptor[
Index].InterfaceDescriptorList[SubIndex]->iInterface);
PVOID AllocateItem(IN POOL_TYPE PoolType, IN SIZE_T NumberOfBytes)
VOID FreeItem(IN PVOID Item)
NTSTATUS USBCCGP_SyncUrbRequest(IN PDEVICE_OBJECT DeviceObject, OUT PURB UrbRequest)
VOID DumpFunctionDescriptor(IN PUSBC_FUNCTION_DESCRIPTOR FunctionDescriptor, IN ULONG FunctionDescriptorCount)
IO_COMPLETION_ROUTINE SyncForwardIrpCompletionRoutine
NTSTATUS NTAPI USBSTOR_SyncForwardIrpCompletionRoutine(PDEVICE_OBJECT DeviceObject, PIRP Irp, PVOID Context)
#define KeWaitForSingleObject(pEvt, foo, a, b, c)
#define KeInitializeEvent(pEvt, foo, foo2)
#define KeSetEvent(pEvt, foo, foo2)
#define IoSetCompletionRoutine(_Irp, _CompletionRoutine, _Context, _InvokeOnSuccess, _InvokeOnError, _InvokeOnCancel)
#define ExFreePoolWithTag(_P, _T)
FORCEINLINE PVOID ExAllocatePoolZero(ULONG PoolType, SIZE_T NumberOfBytes, ULONG Tag)
PIRP NTAPI IoAllocateIrp(IN CCHAR StackSize, IN BOOLEAN ChargeQuota)
VOID NTAPI IoFreeIrp(IN PIRP Irp)
#define STATUS_MORE_PROCESSING_REQUIRED
struct _IO_STACK_LOCATION::@1579::@1580 DeviceIoControl
struct _IO_STACK_LOCATION::@3978::@4017 Others
union _IO_STACK_LOCATION::@1579 Parameters
#define STATUS_INSUFFICIENT_RESOURCES
#define IOCTL_INTERNAL_USB_SUBMIT_URB
_In_ WDFCOLLECTION _In_ ULONG Index
_In_ WDFCOLLECTION _In_ WDFOBJECT Item
_In_ PDEVICE_OBJECT DeviceObject
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE PoolType
__drv_aliasesMem FORCEINLINE PIO_STACK_LOCATION IoGetNextIrpStackLocation(_In_ PIRP Irp)
#define IRP_MJ_INTERNAL_DEVICE_CONTROL