30DEFINE_GUID(GUID_USB_CAPABILITY_CLEAR_TT_BUFFER_ON_ASYNC_TRANSFER_CANCEL,
31 0x09b76d52, 0x0a6d, 0x4e4f, 0xa9, 0x11, 0xd0, 0x36, 0xd1, 0x92, 0x94, 0x97);
33#define MAX_VENDOR_ID_STRING_LENGTH 5
34#define MAX_DEVICE_ID_STRING_LENGTH 5
35#define MAX_REVISION_ID_STRING_LENGTH 5
36#define MAX_GENERIC_USB_CONTROLLER_NAME_SIZE 40
78EVT_UCX_CONTROLLER_QUERY_USB_CAPABILITY(
79 _In_ UCXCONTROLLER UcxController,
92EVT_UCX_CONTROLLER_GET_CURRENT_FRAMENUMBER(
93 _In_ UCXCONTROLLER UcxController,
104EVT_UCX_CONTROLLER_USBDEVICE_ADD(
105 _In_ UCXCONTROLLER UcxController,
116EVT_UCX_CONTROLLER_RESET(
117 _In_ UCXCONTROLLER UcxController);
126EVT_UCX_CONTROLLER_GET_TRANSPORT_CHARACTERISTICS(
127 _In_ UCXCONTROLLER UcxController,
137EVT_UCX_CONTROLLER_SET_TRANSPORT_CHARACTERISTICS_CHANGE_NOTIFICATION(
138 _In_ UCXCONTROLLER UcxController,
140typedef EVT_UCX_CONTROLLER_SET_TRANSPORT_CHARACTERISTICS_CHANGE_NOTIFICATION
149EVT_UCX_CONTROLLER_START_TRACKING_FOR_TIME_SYNC(
150 _In_ UCXCONTROLLER UcxController,
162EVT_UCX_CONTROLLER_STOP_TRACKING_FOR_TIME_SYNC(
163 _In_ UCXCONTROLLER UcxController,
175EVT_UCX_CONTROLLER_GET_FRAME_NUMBER_AND_QPC_FOR_TIME_SYNC(
176 _In_ UCXCONTROLLER UcxController,
180typedef EVT_UCX_CONTROLLER_GET_FRAME_NUMBER_AND_QPC_FOR_TIME_SYNC
223 if (DestinationSize == 0)
244 Config->Size =
sizeof(*Config);
253 sizeof(
Config->DeviceDescription),
332(
NTAPI *PFN_UCXIODEVICECONTROL)(
344(
NTAPI *PFN_UCXCONTROLLERCREATE)(
354(
NTAPI *PFN_UCXCONTROLLERNEEDSRESET)(
361(
NTAPI *PFN_UCXCONTROLLERRESETCOMPLETE)(
369(
NTAPI *PFN_UCXCONTROLLERSETFAILED)(
376(
NTAPI *PFN_UCXCONTROLLERSETIDSTRINGS)(
386(
NTAPI *PFN_UCXCONTROLLERNOTIFYTRANSPORTCHARACTERISTICSCHANGE)(
426 PFN_UCXCONTROLLERCREATE
Create;
436UcxControllerNeedsReset(
439 PFN_UCXCONTROLLERNEEDSRESET NeedsReset;
450UcxControllerResetComplete(
465UcxControllerSetFailed(
468 PFN_UCXCONTROLLERSETFAILED SetFailed;
478UcxControllerSetIdStrings(
499UcxControllerNotifyTransportCharacteristicsChange(
503 PFN_UCXCONTROLLERNOTIFYTRANSPORTCHARACTERISTICSCHANGE
Notify;
_In_ PCHAR _In_ ULONG DeviceNumber
#define _IRQL_requires_same_
#define _IRQL_requires_(irql)
_Must_inspect_result_ _In_ PUCXHUB_DEVICE_CREATE_INFO _Out_ UCXUSBDEVICE * Device
_In_ UINT _In_ UINT _In_ PNDIS_PACKET Source
_In_ PUNICODE_STRING _Inout_ PUNICODE_STRING Destination
#define _Out_writes_z_(s)
#define _Must_inspect_result_
#define _Function_class_(n)
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)
PFN_UCX_CONTROLLER_SET_TRANSPORT_CHARACTERISTICS_CHANGE_NOTIFICATION EvtControllerSetTransportCharacteristicsChangeNotification
PFN_UCX_CONTROLLER_USBDEVICE_ADD EvtControllerUsbDeviceAdd
UCX_CONTROLLER_ACPI_INFORMATION AcpiDeviceInfo
UCX_CONTROLLER_PCI_INFORMATION PciDeviceInfo
UNICODE_STRING ModelNumberString
ULONG NumberOfPresentedDeviceMgmtEvtCallbacks
PFN_UCX_CONTROLLER_QUERY_USB_CAPABILITY EvtControllerQueryUsbCapability
PFN_UCX_CONTROLLER_GET_CURRENT_FRAMENUMBER EvtControllerGetCurrentFrameNumber
UCX_CONTROLLER_PARENT_BUS_TYPE ParentBusType
PFN_UCX_CONTROLLER_RESET EvtControllerReset
PFN_UCX_CONTROLLER_GET_TRANSPORT_CHARACTERISTICS EvtControllerGetTransportCharacteristics
UNICODE_STRING ModelNameString
UNICODE_STRING ManufacturerNameString
UCX_CONTROLLER_STATE UcxControllerState
ULONG64 MaxPotentialBandwidth
ULONG TransportCharacteristicsFlags
ULONG64 CurrentRoundtripLatencyInMilliSeconds
#define RtlZeroMemory(Destination, Length)
#define MAX_DEVICE_ID_STRING_LENGTH
struct _UCX_CONTROLLER_ACPI_INFORMATION UCX_CONTROLLER_ACPI_INFORMATION
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFREQUEST _In_ size_t _In_ size_t _In_ ULONG IoControlCode
_In_ WDFREQUEST WdfRequest
struct _UCX_CONTROLLER_TRANSPORT_CHARACTERISTICS * PUCX_CONTROLLER_TRANSPORT_CHARACTERISTICS
_Must_inspect_result_ _In_ WDFDEVICE _In_ PUCX_CONTROLLER_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ UCXCONTROLLER * Controller
struct _UCX_CONTROLLER_CONFIG UCX_CONTROLLER_CONFIG
PFN_UCX_CONTROLLER_RESET PEVT_UCX_CONTROLLER_RESET
_In_ UCX_CONTROLLER_TRANSPORT_CHARACTERISTICS_CHANGE_FLAGS ChangeNotificationFlags
#define MAX_REVISION_ID_STRING_LENGTH
_In_ PGUID _In_ ULONG _Out_ PULONG ResultLength
_In_ UCXCONTROLLER _In_ PUCX_CONTROLLER_RESET_COMPLETE_INFO UcxControllerResetCompleteInfo
PFN_UCX_CONTROLLER_QUERY_USB_CAPABILITY PEVT_UCX_CONTROLLER_QUERY_USB_CAPABILITY
#define MAX_VENDOR_ID_STRING_LENGTH
_Must_inspect_result_ _In_ WDFDEVICE Device
_Must_inspect_result_ _IRQL_requires_max_(DISPATCH_LEVEL) BOOLEAN(NTAPI *PFN_UCXIODEVICECONTROL)(_In_ PUCX_DRIVER_GLOBALS DriverGlobals
Frees previously reserved amount of memory in system virtual address space.
_UCX_CONTROLLER_PARENT_BUS_TYPE
@ UcxControllerParentBusTypeMaUsb
@ UcxControllerParentBusTypeCustom
@ UcxControllerParentBusTypePci
@ UcxControllerParentBusTypeAcpi
PFN_UCX_CONTROLLER_USBDEVICE_ADD PEVT_UCX_CONTROLLER_USBDEVICE_ADD
EVT_UCX_CONTROLLER_USBDEVICE_ADD * PFN_UCX_CONTROLLER_USBDEVICE_ADD
EVT_UCX_CONTROLLER_QUERY_USB_CAPABILITY * PFN_UCX_CONTROLLER_QUERY_USB_CAPABILITY
FORCEINLINE VOID NTAPI UCX_CONTROLLER_CONFIG_INIT(_Out_ PUCX_CONTROLLER_CONFIG Config, _In_ LPCSTR DeviceDescription)
PFN_UCX_CONTROLLER_GET_CURRENT_FRAMENUMBER PEVT_UCX_CONTROLLER_GET_CURRENT_FRAMENUMBER
@ UcxControllerStatePreserved
_In_ PGUID _In_ ULONG _Out_writes_bytes_opt_(OutputBufferLength) PVOID OutputBuffer
_In_ UCXCONTROLLER _In_ PUNICODE_STRING ManufacturerNameString
_In_ UCXCONTROLLER _In_ PUNICODE_STRING _In_ PUNICODE_STRING _In_ PUNICODE_STRING ModelNumberString
struct _UCX_CONTROLLER_PCI_INFORMATION UCX_CONTROLLER_PCI_INFORMATION
EVT_UCX_CONTROLLER_GET_TRANSPORT_CHARACTERISTICS * PFN_UCX_CONTROLLER_GET_TRANSPORT_CHARACTERISTICS
_In_ PGUID CapabilityType
#define MAX_GENERIC_USB_CONTROLLER_NAME_SIZE
struct _UCX_CONTROLLER_RESET_COMPLETE_INFO UCX_CONTROLLER_RESET_COMPLETE_INFO
struct _UCX_CONTROLLER_PCI_INFORMATION * PUCX_CONTROLLER_PCI_INFORMATION
struct _UCX_CONTROLLER_ACPI_INFORMATION * PUCX_CONTROLLER_ACPI_INFORMATION
EVT_UCX_CONTROLLER_SET_TRANSPORT_CHARACTERISTICS_CHANGE_NOTIFICATION * PFN_UCX_CONTROLLER_SET_TRANSPORT_CHARACTERISTICS_CHANGE_NOTIFICATION
EVT_UCX_CONTROLLER_RESET * PFN_UCX_CONTROLLER_RESET
EVT_UCX_CONTROLLER_START_TRACKING_FOR_TIME_SYNC * PFN_UCX_CONTROLLER_START_TRACKING_FOR_TIME_SYNC
union _UCX_CONTROLLER_TRANSPORT_CHARACTERISTICS_CHANGE_FLAGS UCX_CONTROLLER_TRANSPORT_CHARACTERISTICS_CHANGE_FLAGS
enum _UCX_CONTROLLER_STATE UCX_CONTROLLER_STATE
_In_ UCXCONTROLLER _In_ PUNICODE_STRING _In_ PUNICODE_STRING ModelNameString
_Must_inspect_result_ _In_ WDFDEVICE _In_ PUCX_CONTROLLER_CONFIG Config
FORCEINLINE VOID NTAPI UCX_CONTROLLER_RESET_COMPLETE_INFO_INIT(_Out_ PUCX_CONTROLLER_RESET_COMPLETE_INFO UcxControllerResetCompleteInfo, _In_ UCX_CONTROLLER_STATE UcxControllerState, _In_ BOOLEAN UcxCoordinated)
EVT_UCX_CONTROLLER_GET_FRAME_NUMBER_AND_QPC_FOR_TIME_SYNC * PFN_UCX_CONTROLLER_GET_FRAME_NUMBER_AND_QPC_FOR_TIME_SYNC
EVT_UCX_CONTROLLER_GET_CURRENT_FRAMENUMBER * PFN_UCX_CONTROLLER_GET_CURRENT_FRAMENUMBER
_In_ PUCXUSBDEVICE_INFO UcxUsbDeviceInfo
struct _UCX_CONTROLLER_CONFIG * PUCX_CONTROLLER_CONFIG
struct _UCX_CONTROLLER_RESET_COMPLETE_INFO * PUCX_CONTROLLER_RESET_COMPLETE_INFO
FORCEINLINE VOID NTAPI UcxpCopyAnsiString(_Out_writes_z_(DestinationSize) PCHAR Destination, _In_ SIZE_T DestinationSize, _In_z_ PCSTR Source)
_Must_inspect_result_ _In_ WDFDEVICE _In_ PUCX_CONTROLLER_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes
FORCEINLINE VOID NTAPI UCX_CONTROLLER_CONFIG_SET_PCI_INFO(_Inout_ PUCX_CONTROLLER_CONFIG Config, _In_ ULONG VendorId, _In_ ULONG DeviceId, _In_ USHORT RevisionId, _In_ ULONG BusNumber, _In_ ULONG DeviceNumber, _In_ ULONG FunctionNumber)
FORCEINLINE VOID NTAPI UCX_CONTROLLER_CONFIG_SET_ACPI_INFO(_Inout_ PUCX_CONTROLLER_CONFIG Config, _In_reads_(MAX_VENDOR_ID_STRING_LENGTH) PSTR VendorId, _In_reads_(MAX_DEVICE_ID_STRING_LENGTH) PSTR DeviceId, _In_reads_(MAX_REVISION_ID_STRING_LENGTH) PSTR RevisionId)
struct _UCX_CONTROLLER_TRANSPORT_CHARACTERISTICS UCX_CONTROLLER_TRANSPORT_CHARACTERISTICS
_In_ PUCXUSBDEVICE_INFO _In_ PUCXUSBDEVICE_INIT UsbDeviceInit
EVT_UCX_CONTROLLER_STOP_TRACKING_FOR_TIME_SYNC * PFN_UCX_CONTROLLER_STOP_TRACKING_FOR_TIME_SYNC
_In_ PGUID _In_ ULONG OutputBufferLength
_Out_ PUCX_CONTROLLER_TRANSPORT_CHARACTERISTICS UcxControllerTransportCharacteristics
_In_ WDFREQUEST _In_ size_t _In_ size_t InputBufferLength
WDF_EXTERN_C_START enum _UCX_CONTROLLER_PARENT_BUS_TYPE UCX_CONTROLLER_PARENT_BUS_TYPE
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFREQUEST Request
@ UcxIoDeviceControlTableIndex
@ UcxControllerSetIdStringsTableIndex
@ UcxControllerCreateTableIndex
@ UcxControllerResetCompleteTableIndex
@ UcxControllerSetFailedTableIndex
@ UcxControllerNeedsResetTableIndex
@ UcxControllerNotifyTransportCharacteristicsChangeTableIndex
#define UCX_BOUND_FUNCTION(PfnType, Slot)
WDF_EXTERN_C_START struct _UCX_DRIVER_GLOBALS * PUCX_DRIVER_GLOBALS
PUCX_DRIVER_GLOBALS UcxDriverGlobals
struct _UCXUSBDEVICE_INIT * PUCXUSBDEVICE_INIT
ULONG CurrentRoundtripLatencyChanged
struct _UCX_CONTROLLER_TRANSPORT_CHARACTERISTICS_CHANGE_FLAGS::@4577 UCX_ANONYMOUS_FLAGS
ULONG CurrentTotalBandwidthChanged
#define WDF_EXTERN_C_START
_In_ WDFCOLLECTION _In_ ULONG Index
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR OutputBuffer
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ PCUNICODE_STRING DeviceDescription