70(
NTAPI *PFN_UCX_HCD_ENDPOINT_ENABLE_FORWARD_PROGRESS)(
const struct winhelp_callbacks Callbacks
BOOLEAN SmPost(_In_ Event Ev)
VOID HandleHubReset(_In_ WDFREQUEST Request)
NTSTATUS GetIsochPathDelays(_In_ PIRP Irp, _In_ PURB Urb)
UcxController * m_Controller
UCXSSTREAMS GetStaticStreamsReferenced(_In_ PVOID Tag)
VOID SetWdfIoQueue(_In_ WDFQUEUE Queue)
static EVT_WDF_OBJECT_CONTEXT_DESTROY EvtDestroy
USB_ENDPOINT_DESCRIPTOR m_Descriptor
UcxEndpointCallbacks m_Callbacks
LIST_ENTRY m_ControllerResetLink
BOOLEAN m_OpenFailedOnReset
static UcxEndpoint * FromHandle(_In_ UCXENDPOINT Handle)
NTSTATUS CloseStaticStreams(_In_ PIRP Irp, _In_ PURB Urb)
BOOLEAN Post(_In_ EpEvent Event)
BOOLEAN HasMachine() const
static NTSTATUS CreateThroughHcd(_In_ UcxUsbDevice *Device, _Inout_ UcxEndpointInit *Init, _In_ ULONG MaxPacketSize, _In_opt_ PUSB_ENDPOINT_DESCRIPTOR Descriptor, _In_ ULONG DescriptorBufferLength, _In_opt_ PUSB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR Companion, _Out_ UCXENDPOINT *Endpoint)
UcxStaticStreams * m_Streams
LIST_ENTRY m_TreePurgeLink
NTSTATUS OpenStaticStreamsComplete(_In_ PIRP Irp, _In_ PURB Urb)
VOID HandleClientStreamsDisable(_In_ WDFREQUEST Request)
IO_CSQ_IRP_CONTEXT m_AbortCsqContext
LIST_ENTRY m_DisconnectLink
LIST_ENTRY m_TrackingLink
LIST_ENTRY m_OperationLink
VOID HandleClientStreamsEnable(_In_ WDFREQUEST Request)
static UcxEndpoint * FromPipe(_In_ USBD_PIPE_HANDLE Handle)
NTSTATUS OpenStaticStreams(_In_ PIRP Irp, _In_ PURB Urb)
static _Must_inspect_result_ NTSTATUS CreateDefaultFromHub(_In_ UCXUSBDEVICE UsbDevice, _In_ ULONG MaxPacketSize, _Out_ UCXENDPOINT *Endpoint)
static _Must_inspect_result_ NTSTATUS CreateFromHub(_In_ UCXUSBDEVICE UsbDevice, _In_ PUSB_ENDPOINT_DESCRIPTOR Descriptor, _In_ ULONG DescriptorBufferLength, _In_opt_ PUSB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR Companion, _Out_ UCXENDPOINT *Endpoint)
BOOLEAN m_ClientHoldsHandle
EndpointMachine m_Machine
NTSTATUS CloseStaticStreamsComplete(_In_ PIRP Irp)
NTSTATUS OnHcdResetDone(_In_ PIRP Irp)
VOID SetPending(_In_ PVOID Pending)
VOID NeedToCancelTransfers()
BOOLEAN m_ClearTtOnCancel
static VOID InitSetDefaultEventCallbacks(_Inout_ PUCXENDPOINT_INIT Init, _In_ PUCX_DEFAULT_ENDPOINT_EVENT_CALLBACKS Callbacks)
static VOID InitSetEventCallbacks(_Inout_ PUCXENDPOINT_INIT Init, _In_ PUCX_ENDPOINT_EVENT_CALLBACKS Callbacks)
static UcxStaticStreams * FromHandle(_In_ UCXSSTREAMS Handle)
static EVT_WDF_OBJECT_CONTEXT_DESTROY EvtDestroy
UcxStream * Stream(_In_ ULONG Index)
UcxStaticStreamsInit * m_Init
VOID SetStreamInfo(_In_ PSTREAM_INFO StreamInfo)
_Check_return_ _In_ DXGK_EVENT_TYPE _In_ ULONG Event
#define _IRQL_requires_(irql)
_In_ UCXUSBDEVICE UsbDevice
_Must_inspect_result_ _In_ PUCXHUB_DEVICE_CREATE_INFO _Out_ UCXUSBDEVICE * Device
_Must_inspect_result_ _In_ UCXUSBDEVICE _In_ ULONG MaxPacketSize
_Must_inspect_result_ _In_ UCXUSBDEVICE _In_ ULONG _In_opt_ PUSB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR Companion
_In_ UCXHUB_DEVICE_CONTEXT _In_ UCXENDPOINT Endpoint
_Must_inspect_result_ _In_ UCXUSBDEVICE _In_ ULONG DescriptorBufferLength
#define _Must_inspect_result_
_In_ ULONG MaxTransferSize
ULONG NTAPI UcxComputeMaxTransferSize(_In_ USB_DEVICE_SPEED Speed, _In_ USHORT BcdUsb, _In_ const UcxEndpointInit *Init)
PFN_UCX_ENDPOINT_STATIC_STREAMS_ADD StaticStreamsAdd
PFN_UCX_ENDPOINT_GET_ISOCH_TRANSFER_PATH_DELAYS GetIsochTransferPathDelays
PFN_UCX_ENDPOINT_PURGE Purge
PFN_UCX_ENDPOINT_STATIC_STREAMS_ENABLE StaticStreamsEnable
PFN_UCX_HCD_ENDPOINT_ENABLE_FORWARD_PROGRESS EnableForwardProgress
PFN_UCX_ENDPOINT_SET_CHARACTERISTIC SetCharacteristic
PFN_UCX_ENDPOINT_ABORT Abort
PFN_UCX_ENDPOINT_OK_TO_CANCEL_TRANSFERS OkToCancelTransfers
PFN_UCX_ENDPOINT_RESET Reset
PFN_UCX_ENDPOINT_STATIC_STREAMS_DISABLE StaticStreamsDisable
PFN_UCX_ENDPOINT_START Start
PFN_UCX_DEFAULT_ENDPOINT_UPDATE DefaultEndpointUpdate
static UcxPipe * FromHandle(_In_ USBD_PIPE_HANDLE Handle)
BOOLEAN ForwardProgressAllocatedByHcd
UcxTransferType TransferType
ULONG MaximumTransferSize
ULONG IsochPeriodMicroframes
USBD_PIPE_HANDLE Handle()
UcxStaticStreams * Streams
USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR Companion
USB_SUPERSPEEDPLUS_ISOCH_ENDPOINT_COMPANION_DESCRIPTOR IsochCompanion
USB_ENDPOINT_DESCRIPTOR Descriptor
UcxTransferType TransferType
UcxEndpointCallbacks Callbacks
BOOLEAN HasIsochCompanion
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFREQUEST Request
EVT_UCX_ENDPOINT_START * PFN_UCX_ENDPOINT_START
EVT_UCX_ENDPOINT_SET_CHARACTERISTIC * PFN_UCX_ENDPOINT_SET_CHARACTERISTIC
_Must_inspect_result_ _In_ UCXENDPOINT _In_ PVOID Tag
EVT_UCX_ENDPOINT_RESET * PFN_UCX_ENDPOINT_RESET
EVT_UCX_ENDPOINT_OK_TO_CANCEL_TRANSFERS * PFN_UCX_ENDPOINT_OK_TO_CANCEL_TRANSFERS
EVT_UCX_ENDPOINT_GET_ISOCH_TRANSFER_PATH_DELAYS * PFN_UCX_ENDPOINT_GET_ISOCH_TRANSFER_PATH_DELAYS
EVT_UCX_DEFAULT_ENDPOINT_UPDATE * PFN_UCX_DEFAULT_ENDPOINT_UPDATE
EVT_UCX_ENDPOINT_PURGE * PFN_UCX_ENDPOINT_PURGE
EVT_UCX_ENDPOINT_STATIC_STREAMS_ENABLE * PFN_UCX_ENDPOINT_STATIC_STREAMS_ENABLE
EVT_UCX_ENDPOINT_ABORT * PFN_UCX_ENDPOINT_ABORT
EVT_UCX_ENDPOINT_STATIC_STREAMS_DISABLE * PFN_UCX_ENDPOINT_STATIC_STREAMS_DISABLE
_Must_inspect_result_ _In_ UCXUSBDEVICE _Inout_ PUCXENDPOINT_INIT * EndpointInit
EVT_UCX_ENDPOINT_STATIC_STREAMS_ADD * PFN_UCX_ENDPOINT_STATIC_STREAMS_ADD
WDF_EXTERN_C_START struct _STREAM_INFO * PSTREAM_INFO
_Must_inspect_result_ _In_ UCXENDPOINT _Inout_ PUCXSSTREAMS_INIT _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ UCXSSTREAMS * StaticStreams
enum _USB_DEVICE_SPEED USB_DEVICE_SPEED
_In_opt_ PUSB_CONFIGURATION_DESCRIPTOR _Inout_ PUSBD_INTERFACE_LIST_ENTRY _Outptr_ PURB * Urb
_In_ WDFCOLLECTION _In_ ULONG Index
_Must_inspect_result_ _In_ WDFDEVICE _In_ PIRP _In_ WDFQUEUE Queue
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_INTERRUPT_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFINTERRUPT * Interrupt
#define WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(_contexttype, _castingfunction)
_Must_inspect_result_ _In_ WDFIORESLIST _In_ PIO_RESOURCE_DESCRIPTOR Descriptor
_In_ WDF_WMI_PROVIDER_CONTROL Control