11#define UCX_URB_FLAGS_KEEP_HUB_BITS UCXHUB_URB_FLAGS_HUB_MASK
14#define UCX_URB_FLAG_BUFFER_LOCKED 0x20000000
17#define UCX_MAX_CONTROL_TRANSFER 0xFFFF
21#pragma GCC diagnostic push
22#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
23#elif defined(_MSC_VER)
25#pragma warning(disable:4996)
39#pragma GCC diagnostic pop
40#elif defined(_MSC_VER)
52 if (
Pipe->DirectionIn)
55 Urb->UrbControlTransfer.TransferFlags &= ~USBD_TRANSFER_DIRECTION_IN;
83 _In_ WDFDEVICE RootHubPdo,
98 _In_ WDFDEVICE RootHubPdo,
107 _In_ WDFDEVICE RootHubPdo,
_Must_inspect_result_ _In_ PUCXHUB_DEVICE_CREATE_INFO _Out_ UCXUSBDEVICE * Device
_In_ PIRP _In_ PIO_COMPLETION_ROUTINE _In_ PVOID Context
FORCEINLINE ULONG KeGetCurrentProcessorNumber(VOID)
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFREQUEST Request
NTSTATUS NTAPI UcxUsbdStatusToNtStatus(_In_ USBD_STATUS UsbdStatus)
NTSTATUS NTAPI UcxProcessLegacyUrb(_In_ WDFDEVICE RootHubPdo, _In_ PIRP Irp, _In_ PURB Urb)
USBD_STATUS NTAPI UcxNtStatusToUsbdStatus(_In_ NTSTATUS Status)
NTSTATUS NTAPI UcxForwardIrpToQueue(_In_ WDFDEVICE RootHubPdo, _In_ PIRP Irp, _In_ PIO_COMPLETION_ROUTINE Completion, _In_ PVOID Context, _In_ WDFQUEUE Queue)
BOOLEAN NTAPI UcxValidatePipeHandle(_In_ UcxUsbDevice *Device, _In_ USBD_PIPE_HANDLE Handle)
VOID NTAPI UcxUnlockTransferBuffer(_Inout_ PURB Urb)
FORCEINLINE VOID NTAPI UcxSetTransferDirection(_Inout_ PURB Urb, _In_ const UcxPipe *Pipe)
FORCEINLINE VOID NTAPI UcxStampProcessorNumber(_Inout_ PURB Urb)
NTSTATUS NTAPI UcxForwardIrpWithRequest(_In_ WDFDEVICE RootHubPdo, _In_ PIRP Irp, _In_ PIO_COMPLETION_ROUTINE Completion, _In_ PVOID Context, _In_ WDFQUEUE Queue, _In_ WDFREQUEST Request)
VOID NTAPI UcxLockTransferBuffer(_Inout_ PURB Urb)
#define USBD_TRANSFER_DIRECTION_IN
_In_opt_ PUSB_CONFIGURATION_DESCRIPTOR _Inout_ PUSBD_INTERFACE_LIST_ENTRY _Outptr_ PURB * Urb
_Must_inspect_result_ _In_ WDFDEVICE _In_ PIRP _In_ WDFQUEUE Queue
_In_ NTSTATUS _In_ USBD_STATUS UsbdStatus
IO_COMPLETION_ROUTINE * PIO_COMPLETION_ROUTINE