7#if (NTDDI_VERSION >= NTDDI_WINXP)
9#if !defined(_USBBUSIF_)
17#define USBD_DEVHACK_SLOW_ENUMERATION 0x00000001
18#define USBD_DEVHACK_DISABLE_SN 0x00000002
19#define USBD_DEVHACK_SET_DIAG_ID 0x00000004
22#define USB_BUSIFFN __stdcall
25#define CD_ERR_V1 0x00000001
27#define ID_ERR_V1 0x00000001
29#define USBD_KEEP_DEVICE_DATA 0x00000001
30#define USBD_MARK_DEVICE_BUSY 0x00000002
32#define USB_IDLE_NOT_READY 0
33#define USB_IDLE_READY 1
38USB_BUSIFFN_CREATE_USB_DEVICE (
69USB_BUSIFFN_CREATE_USB_DEVICE_EX (
87USB_BUSIFFN_CREATE_USB_DEVICE_V7 (
119USB_BUSIFFN_INITIALIZE_USB_DEVICE(
127USB_BUSIFFN_INITIALIZE_USB_DEVICE_EX(
136USB_BUSIFFN_REMOVE_USB_DEVICE(
145USB_BUSIFFN_GET_USB_DESCRIPTORS(
159USB_BUSIFFN_RESTORE_DEVICE(
168USB_BUSIFFN_GET_POTRTHACK_FLAGS(
176USB_BUSIFFN_GET_DEVICE_INFORMATION(
180 PVOID DeviceInformationBuffer,
188USB_BUSIFFN_GET_CONTROLLER_INFORMATION(
191 PVOID ControllerInformationBuffer,
199USB_BUSIFFN_CONTROLLER_SELECTIVE_SUSPEND(
207USB_BUSIFFN_GET_EXTENDED_HUB_INFO(
211 PVOID HubInformationBuffer,
219USB_BUSIFFN_GET_ROOTHUB_SYM_NAME(
229USB_BUSIFFN_GET_DEVICE_BUSCONTEXT(
237USB_BUSIFFN_INITIALIZE_20HUB(
254USB_BUSIFFN_ACQUIRE_SEMAPHORE(
261USB_BUSIFFN_RELEASE_SEMAPHORE(
275USB_BUSIFFN_ROOTHUB_INIT_NOTIFY(
284USB_BUSIFFN_FLUSH_TRANSFERS(
292USB_BUSIFFN_CALC_PIPE_BANDWIDTH(
301USB_BUSIFFN_SET_BUS_WAKE_MODE(
309USB_BUSIFFN_SET_DEVICE_FLAG(
319USB_BUSIFFN_SET_DEVHANDLE_DATA(
328USB_BUSIFFN_TEST_POINT(
338USB_BUSIFFN_GET_DEVICE_PERFORMANCE_INFO(
342 PVOID DeviceInformationBuffer,
350USB_BUSIFFN_WAIT_ASYNC_POWERUP(
357USB_BUSIFFN_GET_DEVICE_ADDRESS(
366USB_BUSIFFN_DEREF_DEVICE_HANDLE(
376USB_BUSIFFN_REF_DEVICE_HANDLE(
386USB_BUSIFFN_SET_DEVICE_HANDLE_IDLE_READY_STATE(
395USB_BUSIFFN_GET_CONTAINER_ID_FOR_PORT(
404USB_BUSIFFN_SET_CONTAINER_ID_FOR_PORT(
413USB_BUSIFFN_ABORT_ALL_DEVICE_PIPES(
418#define ERRATA_FLAG_RESET_TT_ON_CANCEL 1
419#define ERRATA_FLAG_NO_CLEAR_TT_BUFFER_ON_CANCEL 2
421#define USB_BUSIF_HUB_VERSION_0 0x0000
422#define USB_BUSIF_HUB_VERSION_1 0x0001
423#define USB_BUSIF_HUB_VERSION_2 0x0002
424#define USB_BUSIF_HUB_VERSION_3 0x0003
425#define USB_BUSIF_HUB_VERSION_4 0x0004
426#define USB_BUSIF_HUB_VERSION_5 0x0005
427#define USB_BUSIF_HUB_VERSION_6 0x0006
428#define USB_BUSIF_HUB_VERSION_7 0x0007
430#define USB_BUSIF_HUB_MIDUMP_VERSION_0 0x0000
432#define USB_BUSIF_HUB_SS_VERSION_0 0x0000
437USB_BUSIFFN_SET_DEVICE_ERRATA_FLAG(
444 0xb2bb8c0a, 0x5ab4, 0x11d3, 0xa8, 0xcd, 0x0, 0xc0, 0x4f, 0x68, 0x74, 0x7a);
639 0xc5485f21, 0x4e81, 0x4a23, 0xa8, 0xf9, 0xd8, 0x51, 0x8a, 0xf4, 0x5c, 0x38);
655 0xbfc3f363, 0x8ba1, 0x4c7b, 0x97, 0xba, 0x9b, 0x12, 0xb1, 0xca, 0x13, 0x2f);
VOID(WINAPI * PINTERFACE_DEREFERENCE)(PVOID Context)
VOID(WINAPI * PINTERFACE_REFERENCE)(PVOID Context)
@ InitDevBadDeviceDescriptor
@ InitDevFailedSetAddress
@ InitDevFailedPokeEndpoint
_Outptr_ PUSB_DEVICE_HANDLE _In_ PUSB_DEVICE_HANDLE _In_ USHORT _In_ USHORT _Out_ PUSB_CD_ERROR_INFORMATION _In_ USHORT TtPortNumber
_Outptr_ PUSB_DEVICE_HANDLE * NewDeviceHandle
struct _USB_PORT_PATH USB_PORT_PATH
USB_BUSIFFN_ROOTHUB_INIT_NOTIFY * PUSB_BUSIFFN_ROOTHUB_INIT_NOTIFY
_In_ ULONG _Out_ PULONG HubSymNameActualLength
_In_ PDEVICE_OBJECT _In_ ULONG HubInformationBufferLength
struct _USB_BUS_INTERFACE_HUB_V5 * PUSB_BUS_INTERFACE_HUB_V5
_Outptr_ PUSB_DEVICE_HANDLE _In_ PUSB_DEVICE_HANDLE _In_ USHORT _In_ PUSB_PORT_PATH PortPath
USB_BUSIFFN_SET_CONTAINER_ID_FOR_PORT * PUSB_BUSIFFN_SET_CONTAINER_ID_FOR_PORT
USB_BUSIFFN_INITIALIZE_USB_DEVICE * PUSB_BUSIFFN_INITIALIZE_USB_DEVICE
_In_ GUID * DeviceFlagGuid
struct _USB_LEVEL_INFORMATION * PUSB_LEVEL_INFORMATION
enum _USBPORT_INITDEV_ERROR USBPORT_INITDEV_ERROR
struct _USB_EXTHUB_INFORMATION_0 * PUSB_EXTHUB_INFORMATION_0
struct _USB_ID_ERROR_INFORMATION USB_ID_ERROR_INFORMATION
struct _USB_CONTROLLER_INFORMATION_1 * PUSB_CONTROLLER_INFORMATION_1
_Outptr_ PUSB_DEVICE_HANDLE _In_ PUSB_DEVICE_HANDLE _In_ USHORT _In_ PUSB_PORT_PATH _Out_ PUSB_CD_ERROR_INFORMATION _In_ USHORT _In_ PDEVICE_OBJECT _In_ PUNICODE_STRING PhysicalDeviceObjectName
_Inout_ PUSB_DEVICE_HANDLE OldDeviceHandle
struct _USB_DEVICE_PERFORMANCE_INFO_0 * PUSB_DEVICE_PERFORMANCE_INFO_0
USB_BUSIFFN_SET_DEVICE_HANDLE_IDLE_READY_STATE * PUSB_BUSIFFN_SET_DEVICE_HANDLE_IDLE_READY_STATE
struct _USB_BUS_INTERFACE_HUB_V5 USB_BUS_INTERFACE_HUB_V5
_Outptr_ PUSB_DEVICE_HANDLE _In_ PUSB_DEVICE_HANDLE HubDeviceHandle
USB_BUSIFFN_IS_ROOT * PUSB_BUSIFFN_IS_ROOT
enum _USBPORT_CREATEDEV_ERROR USBPORT_CREATEDEV_ERROR
_In_ PUSBD_PIPE_INFORMATION _In_ USB_DEVICE_SPEED DeviceSpeed
_In_ PUSB_DEVICE_HANDLE _In_ ULONG NewIdleReadyState
struct _USB_BUS_INTERFACE_HUB_V1 USB_BUS_INTERFACE_HUB_V1
USB_BUSIFFN_GET_CONTROLLER_INFORMATION * PUSB_BUSIFFN_GET_CONTROLLER_INFORMATION
USB_BUSIFFN_CREATE_USB_DEVICE * PUSB_BUSIFFN_CREATE_USB_DEVICE
struct _USB_BUS_INTERFACE_HUB_V6 USB_BUS_INTERFACE_HUB_V6
struct _USB_BUS_INTERFACE_HUB_V7 * PUSB_BUS_INTERFACE_HUB_V7
_Inout_ PUSB_DEVICE_HANDLE DeviceHandle
_In_ PVOID CallbackContext
struct _USB_DEVICE_PERFORMANCE_INFO_0 USB_DEVICE_PERFORMANCE_INFO_0
RH_INIT_CALLBACK * PRH_INIT_CALLBACK
USB_BUSIFFN_INITIALIZE_USB_DEVICE_EX * PUSB_BUSIFFN_INITIALIZE_USB_DEVICE_EX
struct _USB_BUS_INTERFACE_HUB_SELECTIVE_SUSPEND * PUSB_BUS_INTERFACE_HUB_SELECTIVE_SUSPEND
USB_BUSIFFN_GET_USB_DESCRIPTORS * PUSB_BUSIFFN_GET_USB_DESCRIPTORS
_Outptr_ PUSB_DEVICE_HANDLE _In_ PUSB_DEVICE_HANDLE _In_ USHORT _In_ USHORT _Out_ PUSB_CD_ERROR_INFORMATION CdErrorInfo
@ CreateDevFailedAllocDsBuff
@ CreateDevFailedAllocDevHandle
@ CreateDevFailedOpenEndpoint
@ CreateDevBadDevHandlePtr
@ CreateDevBadHubDevHandle
USB_BUSIFFN_CALC_PIPE_BANDWIDTH * PUSB_BUSIFFN_CALC_PIPE_BANDWIDTH
_In_ GUID _In_ PVOID ValueData
USB_BUSIFFN_RESTORE_DEVICE * PUSB_BUSIFFN_RESTORE_DEVICE
_In_ PVOID _In_ ULONG Opcode
USB_BUSIFFN_DEREF_DEVICE_HANDLE * PUSB_BUSIFFN_DEREF_DEVICE_HANDLE
USB_BUSIFFN_FLUSH_TRANSFERS * PUSB_BUSIFFN_FLUSH_TRANSFERS
struct _USB_LEVEL_INFORMATION USB_LEVEL_INFORMATION
NTSTATUS(USB_BUSIFFN * PUSB_BUSIFFN_RESUME_HUB)(PDEVICE_OBJECT Pdo)
struct _USB_BUS_INTERFACE_HUB_V4 USB_BUS_INTERFACE_HUB_V4
struct _USB_DEVICE_INFORMATION_0 * PUSB_DEVICE_INFORMATION_0
USB_BUSIFFN_REF_DEVICE_HANDLE * PUSB_BUSIFFN_REF_DEVICE_HANDLE
struct _USB_BUS_INTERFACE_HUB_V3 USB_BUS_INTERFACE_HUB_V3
USB_BUSIFFN_GET_ROOTHUB_SYM_NAME * PUSB_BUSIFFN_GET_ROOTHUB_SYM_NAME
struct _USB_CONTROLLER_INFORMATION_0 * PUSB_CONTROLLER_INFORMATION_0
_Outptr_ PUSB_DEVICE_HANDLE _In_ PUSB_DEVICE_HANDLE _In_ USHORT PortStatus
_In_ PVOID _In_ PDEVICE_OBJECT UsbDevicePdo
struct _USB_BUS_INTERFACE_HUB_V0 * PUSB_BUS_INTERFACE_HUB_V0
USB_BUSIFFN_CREATE_USB_DEVICE_V7 * PUSB_BUSIFFN_CREATE_USB_DEVICE_V7
USB_BUSIFFN_CREATE_USB_DEVICE_EX * PUSB_BUSIFFN_CREATE_USB_DEVICE_EX
USB_BUSIFFN_SET_DEVICE_FLAG * PUSB_BUSIFFN_SET_DEVICE_FLAG
USB_BUSIFFN_GET_DEVICE_BUSCONTEXT * PUSB_BUSIFFN_GET_DEVICE_BUSCONTEXT
struct _USB_EXTPORT_INFORMATION_0 USB_EXTPORT_INFORMATION_0
_Inout_ PUSB_DEVICE_HANDLE _Out_writes_bytes_to_ DeviceDescriptorBufferLength PUCHAR _Inout_ PULONG _Out_writes_bytes_to_ ConfigDescriptorBufferLength PUCHAR _Inout_ PULONG ConfigDescriptorBufferLength
struct _USB_EXTPORT_INFORMATION_0 * PUSB_EXTPORT_INFORMATION
struct _USB_BUS_INTERFACE_HUB_V4 * PUSB_BUS_INTERFACE_HUB_V4
_In_ USHORT _Out_ LPGUID ContainerId
USB_BUSIFFN_INITIALIZE_20HUB * PUSB_BUSIFFN_INITIALIZE_20HUB
VOID(USB_BUSIFFN * PUSB_BUSIFFN_SET_MINIDUMP_FLAGS)(IN PVOID)
_Inout_ PUSB_DEVICE_HANDLE _Out_writes_bytes_to_ DeviceDescriptorBufferLength PUCHAR DeviceDescriptorBuffer
struct _USB_PIPE_INFORMATION_0 * PUSB_PIPE_INFORMATION_0
struct _USB_DEVICE_INFORMATION_0 USB_DEVICE_INFORMATION_0
USB_BUSIFFN_SET_DEVHANDLE_DATA * PUSB_BUSIFFN_SET_DEVHANDLE_DATA
_Inout_ PUSB_DEVICE_HANDLE _Out_writes_bytes_to_ DeviceDescriptorBufferLength PUCHAR _Inout_ PULONG _Out_writes_bytes_to_ ConfigDescriptorBufferLength PUCHAR ConfigDescriptorBuffer
_In_ PVOID _In_ PRH_INIT_CALLBACK CallbackRoutine
struct _USB_PIPE_INFORMATION_0 USB_PIPE_INFORMATION_0
struct _USB_CD_ERROR_INFORMATION * PUSB_CD_ERROR_INFORMATION
struct _USB_BUS_INTERFACE_HUB_V2 USB_BUS_INTERFACE_HUB_V2
_Outptr_ PUSB_DEVICE_HANDLE _In_ PUSB_DEVICE_HANDLE HsHubDeviceHandle
USB_BUSIFFN_ABORT_ALL_DEVICE_PIPES * PUSB_BUSIFFN_ABORT_ALL_DEVICE_PIPES
NTSTATUS(USB_BUSIFFN * PUSB_BUSIFFN_SUSPEND_HUB)(PDEVICE_OBJECT Pdo)
_In_ ULONG HubSymNameBufferLength
_In_ PUSB_DEVICE_HANDLE _In_ ULONG TtCount
struct _USB_CONTROLLER_INFORMATION_0 USB_CONTROLLER_INFORMATION_0
struct _USB_BUS_INTERFACE_HUB_V0 USB_BUS_INTERFACE_HUB_V0
struct _USB_BUS_INTERFACE_HUB_SELECTIVE_SUSPEND USB_BUS_INTERFACE_HUB_SELECTIVE_SUSPEND
struct _ROOTHUB_PDO_EXTENSION * PROOTHUB_PDO_EXTENSION
USB_BUSIFFN_REMOVE_USB_DEVICE * PUSB_BUSIFFN_REMOVE_USB_DEVICE
struct _USB_BUS_INTERFACE_HUB_V2 * PUSB_BUS_INTERFACE_HUB_V2
USB_BUSIFFN_SET_DEVICE_ERRATA_FLAG * PUSB_BUSIFFN_SET_DEVICE_ERRATA_FLAG
struct _USB_ID_ERROR_INFORMATION * PUSB_ID_ERROR_INFORMATION
_In_ ULONG ControllerInformationBufferLength
_Outptr_ PUSB_DEVICE_HANDLE _In_ PUSB_DEVICE_HANDLE _In_ USHORT _In_ PUSB_PORT_PATH _Out_ PUSB_CD_ERROR_INFORMATION _In_ USHORT _In_ PDEVICE_OBJECT PdoDeviceObject
_Outptr_ PUSB_DEVICE_HANDLE _In_ PUSB_DEVICE_HANDLE _In_ USHORT _In_ USHORT PortNumber
USB_BUSIFFN_GET_DEVICE_PERFORMANCE_INFO * PUSB_BUSIFFN_GET_DEVICE_PERFORMANCE_INFO
_In_ PUSB_DEVICE_HANDLE _In_ ULONG _Inout_ PULONG LengthOfDataCopied
USB_BUSIFFN_GET_DEVICE_ADDRESS * PUSB_BUSIFFN_GET_DEVICE_ADDRESS
USB_BUSIFFN_RELEASE_SEMAPHORE * PUSB_BUSIFFN_RELEASE_SEMAPHORE
struct _ROOTHUB_PDO_EXTENSION ROOTHUB_PDO_EXTENSION
struct _USB_BUS_INTERFACE_HUB_V6 * PUSB_BUS_INTERFACE_HUB_V6
USB_BUSIFFN_SET_BUS_WAKE_MODE * PUSB_BUSIFFN_SET_BUS_WAKE_MODE
_Inout_ PUSB_DEVICE_HANDLE _Out_ PUSB_ID_ERROR_INFORMATION IdErrInfo
_In_ PDEVICE_OBJECT HubPhysicalDeviceObject
struct _USB_BUS_INTERFACE_HUB_MINIDUMP USB_BUS_INTERFACE_HUB_MINIDUMP
struct _USB_CONTROLLER_INFORMATION_1 USB_CONTROLLER_INFORMATION_1
USB_BUSIFFN_GET_CONTAINER_ID_FOR_PORT * PUSB_BUSIFFN_GET_CONTAINER_ID_FOR_PORT
USB_BUSIFFN_WAIT_ASYNC_POWERUP * PUSB_BUSIFFN_WAIT_ASYNC_POWERUP
_In_ PUSB_DEVICE_HANDLE _Out_ PUSHORT DeviceAddress
struct _USB_PORT_PATH * PUSB_PORT_PATH
USB_BUSIFFN_GET_EXTENDED_HUB_INFO * PUSB_BUSIFFN_GET_EXTENDED_HUB_INFO
struct _USB_BUS_INTERFACE_HUB_V1 * PUSB_BUS_INTERFACE_HUB_V1
_In_ PUSB_DEVICE_HANDLE _In_ ULONG DeviceInformationBufferLength
struct _USB_BUS_INTERFACE_HUB_MINIDUMP * PUSB_BUS_INTERFACE_HUB_MINIDUMP
USB_BUSIFFN_CONTROLLER_SELECTIVE_SUSPEND * PUSB_BUSIFFN_CONTROLLER_SELECTIVE_SUSPEND
struct _USB_EXTHUB_INFORMATION_0 USB_EXTHUB_INFORMATION_0
_Inout_ PUSB_DEVICE_HANDLE _Out_writes_bytes_to_ DeviceDescriptorBufferLength PUCHAR _Inout_ PULONG DeviceDescriptorBufferLength
USB_BUSIFFN_GET_DEVICE_INFORMATION * PUSB_BUSIFFN_GET_DEVICE_INFORMATION
USB_BUSIFFN_ACQUIRE_SEMAPHORE * PUSB_BUSIFFN_ACQUIRE_SEMAPHORE
struct _USB_BUS_INTERFACE_HUB_V3 * PUSB_BUS_INTERFACE_HUB_V3
USB_BUSIFFN_TEST_POINT * PUSB_BUSIFFN_TEST_POINT
struct _USB_CD_ERROR_INFORMATION USB_CD_ERROR_INFORMATION
USB_BUSIFFN_GET_POTRTHACK_FLAGS * PUSB_BUSIFFN_GET_POTRTHACK_FLAGS
_In_ PUSB_DEVICE_HANDLE _In_ ULONG DeviceErrataFlag
struct _USB_BUS_INTERFACE_HUB_V7 USB_BUS_INTERFACE_HUB_V7
#define _Function_class_(x)
#define _Out_writes_bytes_to_(size, count)
#define _Inout_updates_bytes_to_(size, count)
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN Enable
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)
PINTERFACE_DEREFERENCE InterfaceDereference
PUSB_BUSIFFN_SET_MINIDUMP_FLAGS SetUsbPortMiniDumpFlags
PINTERFACE_REFERENCE InterfaceReference
PUSB_BUSIFFN_SUSPEND_HUB SuspendHub
PUSB_BUSIFFN_RESUME_HUB ResumeHub
PINTERFACE_DEREFERENCE InterfaceDereference
PINTERFACE_REFERENCE InterfaceReference
PINTERFACE_REFERENCE InterfaceReference
PINTERFACE_DEREFERENCE InterfaceDereference
PUSB_BUSIFFN_REMOVE_USB_DEVICE RemoveUsbDevice
PUSB_BUSIFFN_RESTORE_DEVICE RestoreUsbDevice
PUSB_BUSIFFN_CREATE_USB_DEVICE CreateUsbDevice
PUSB_BUSIFFN_INITIALIZE_USB_DEVICE InitializeUsbDevice
PUSB_BUSIFFN_GET_POTRTHACK_FLAGS GetPortHackFlags
PINTERFACE_REFERENCE InterfaceReference
PINTERFACE_DEREFERENCE InterfaceDereference
PUSB_BUSIFFN_GET_DEVICE_INFORMATION QueryDeviceInformation
PUSB_BUSIFFN_GET_USB_DESCRIPTORS GetUsbDescriptors
PUSB_BUSIFFN_CREATE_USB_DEVICE CreateUsbDevice
PUSB_BUSIFFN_CONTROLLER_SELECTIVE_SUSPEND ControllerSelectiveSuspend
PUSB_BUSIFFN_INITIALIZE_USB_DEVICE InitializeUsbDevice
PUSB_BUSIFFN_INITIALIZE_20HUB Initialize20Hub
PUSB_BUSIFFN_GET_POTRTHACK_FLAGS GetPortHackFlags
PUSB_BUSIFFN_REMOVE_USB_DEVICE RemoveUsbDevice
PUSB_BUSIFFN_GET_ROOTHUB_SYM_NAME GetRootHubSymbolicName
PUSB_BUSIFFN_GET_USB_DESCRIPTORS GetUsbDescriptors
PUSB_BUSIFFN_GET_CONTROLLER_INFORMATION GetControllerInformation
PUSB_BUSIFFN_GET_DEVICE_INFORMATION QueryDeviceInformation
PUSB_BUSIFFN_RESTORE_DEVICE RestoreUsbDevice
PINTERFACE_DEREFERENCE InterfaceDereference
PUSB_BUSIFFN_GET_EXTENDED_HUB_INFO GetExtendedHubInformation
PUSB_BUSIFFN_GET_DEVICE_BUSCONTEXT GetDeviceBusContext
PINTERFACE_REFERENCE InterfaceReference
PINTERFACE_REFERENCE InterfaceReference
PUSB_BUSIFFN_RESTORE_DEVICE RestoreUsbDevice
PINTERFACE_DEREFERENCE InterfaceDereference
PUSB_BUSIFFN_CREATE_USB_DEVICE CreateUsbDevice
PUSB_BUSIFFN_INITIALIZE_20HUB Initialize20Hub
PUSB_BUSIFFN_GET_CONTROLLER_INFORMATION GetControllerInformation
PUSB_BUSIFFN_CONTROLLER_SELECTIVE_SUSPEND ControllerSelectiveSuspend
PUSB_BUSIFFN_ROOTHUB_INIT_NOTIFY RootHubInitNotification
PUSB_BUSIFFN_GET_ROOTHUB_SYM_NAME GetRootHubSymbolicName
PUSB_BUSIFFN_INITIALIZE_USB_DEVICE InitializeUsbDevice
PUSB_BUSIFFN_GET_USB_DESCRIPTORS GetUsbDescriptors
PUSB_BUSIFFN_GET_POTRTHACK_FLAGS GetPortHackFlags
PUSB_BUSIFFN_GET_EXTENDED_HUB_INFO GetExtendedHubInformation
PUSB_BUSIFFN_GET_DEVICE_BUSCONTEXT GetDeviceBusContext
PUSB_BUSIFFN_GET_DEVICE_INFORMATION QueryDeviceInformation
PUSB_BUSIFFN_REMOVE_USB_DEVICE RemoveUsbDevice
PUSB_BUSIFFN_ROOTHUB_INIT_NOTIFY RootHubInitNotification
PUSB_BUSIFFN_GET_POTRTHACK_FLAGS GetPortHackFlags
PUSB_BUSIFFN_CREATE_USB_DEVICE CreateUsbDevice
PUSB_BUSIFFN_GET_CONTROLLER_INFORMATION GetControllerInformation
PUSB_BUSIFFN_REMOVE_USB_DEVICE RemoveUsbDevice
PUSB_BUSIFFN_FLUSH_TRANSFERS FlushTransfers
PINTERFACE_DEREFERENCE InterfaceDereference
PUSB_BUSIFFN_RESTORE_DEVICE RestoreUsbDevice
PUSB_BUSIFFN_INITIALIZE_20HUB Initialize20Hub
PINTERFACE_REFERENCE InterfaceReference
PUSB_BUSIFFN_CONTROLLER_SELECTIVE_SUSPEND ControllerSelectiveSuspend
PUSB_BUSIFFN_GET_DEVICE_INFORMATION QueryDeviceInformation
PUSB_BUSIFFN_GET_DEVICE_BUSCONTEXT GetDeviceBusContext
PUSB_BUSIFFN_INITIALIZE_USB_DEVICE InitializeUsbDevice
PUSB_BUSIFFN_GET_USB_DESCRIPTORS GetUsbDescriptors
PUSB_BUSIFFN_GET_EXTENDED_HUB_INFO GetExtendedHubInformation
PUSB_BUSIFFN_GET_ROOTHUB_SYM_NAME GetRootHubSymbolicName
PUSB_BUSIFFN_GET_DEVICE_BUSCONTEXT GetDeviceBusContext
PUSB_BUSIFFN_GET_EXTENDED_HUB_INFO GetExtendedHubInformation
PUSB_BUSIFFN_GET_POTRTHACK_FLAGS GetPortHackFlags
PUSB_BUSIFFN_INITIALIZE_USB_DEVICE InitializeUsbDevice
PUSB_BUSIFFN_GET_USB_DESCRIPTORS GetUsbDescriptors
PUSB_BUSIFFN_FLUSH_TRANSFERS FlushTransfers
PUSB_BUSIFFN_GET_DEVICE_INFORMATION QueryDeviceInformation
PUSB_BUSIFFN_SET_DEVHANDLE_DATA SetDeviceHandleData
PUSB_BUSIFFN_INITIALIZE_20HUB Initialize20Hub
PUSB_BUSIFFN_GET_CONTROLLER_INFORMATION GetControllerInformation
PUSB_BUSIFFN_CONTROLLER_SELECTIVE_SUSPEND ControllerSelectiveSuspend
PUSB_BUSIFFN_REMOVE_USB_DEVICE RemoveUsbDevice
PINTERFACE_DEREFERENCE InterfaceDereference
PUSB_BUSIFFN_CREATE_USB_DEVICE CreateUsbDevice
PUSB_BUSIFFN_RESTORE_DEVICE RestoreUsbDevice
PINTERFACE_REFERENCE InterfaceReference
PUSB_BUSIFFN_ROOTHUB_INIT_NOTIFY RootHubInitNotification
PUSB_BUSIFFN_GET_ROOTHUB_SYM_NAME GetRootHubSymbolicName
PUSB_BUSIFFN_CONTROLLER_SELECTIVE_SUSPEND ControllerSelectiveSuspend
PUSB_BUSIFFN_GET_EXTENDED_HUB_INFO GetExtendedHubInformation
PUSB_BUSIFFN_CALC_PIPE_BANDWIDTH CaculatePipeBandwidth
PUSB_BUSIFFN_CREATE_USB_DEVICE_EX CreateUsbDevice
PUSB_BUSIFFN_ROOTHUB_INIT_NOTIFY RootHubInitNotification
PUSB_BUSIFFN_GET_DEVICE_PERFORMANCE_INFO GetDevicePerformanceInfo
PUSB_BUSIFFN_INITIALIZE_20HUB Initialize20Hub
PUSB_BUSIFFN_GET_CONTROLLER_INFORMATION GetControllerInformation
PUSB_BUSIFFN_GET_DEVICE_BUSCONTEXT GetDeviceBusContext
PUSB_BUSIFFN_FLUSH_TRANSFERS FlushTransfers
PUSB_BUSIFFN_WAIT_ASYNC_POWERUP WaitAsyncPowerUp
PUSB_BUSIFFN_TEST_POINT HubTestPoint
PUSB_BUSIFFN_SET_DEVICE_FLAG SetDeviceFlag
PUSB_BUSIFFN_GET_USB_DESCRIPTORS GetUsbDescriptors
PINTERFACE_DEREFERENCE InterfaceDereference
PUSB_BUSIFFN_GET_POTRTHACK_FLAGS GetPortHackFlags
PUSB_BUSIFFN_IS_ROOT HubIsRoot
PUSB_BUSIFFN_RESTORE_DEVICE RestoreUsbDevice
PUSB_BUSIFFN_INITIALIZE_USB_DEVICE_EX InitializeUsbDevice
PUSB_BUSIFFN_SET_DEVHANDLE_DATA SetDeviceHandleData
PUSB_BUSIFFN_ACQUIRE_SEMAPHORE AcquireBusSemaphore
PUSB_BUSIFFN_GET_DEVICE_INFORMATION QueryDeviceInformation
PINTERFACE_REFERENCE InterfaceReference
PUSB_BUSIFFN_GET_ROOTHUB_SYM_NAME GetRootHubSymbolicName
PUSB_BUSIFFN_REMOVE_USB_DEVICE RemoveUsbDevice
PUSB_BUSIFFN_SET_DEVICE_HANDLE_IDLE_READY_STATE SetDeviceHandleIdleReadyState
PUSB_BUSIFFN_DEREF_DEVICE_HANDLE DerefDeviceHandle
PUSB_BUSIFFN_GET_DEVICE_ADDRESS GetDeviceAddress
PUSB_BUSIFFN_SET_BUS_WAKE_MODE SetBusSystemWakeMode
PUSB_BUSIFFN_REF_DEVICE_HANDLE RefDeviceHandle
PUSB_BUSIFFN_RELEASE_SEMAPHORE ReleaseBusSemaphore
PUSB_BUSIFFN_FLUSH_TRANSFERS FlushTransfers
PUSB_BUSIFFN_RELEASE_SEMAPHORE ReleaseBusSemaphore
PUSB_BUSIFFN_SET_DEVICE_ERRATA_FLAG SetDeviceErrataFlag
PUSB_BUSIFFN_SET_CONTAINER_ID_FOR_PORT SetContainerIdForPort
PUSB_BUSIFFN_GET_DEVICE_BUSCONTEXT GetDeviceBusContext
PUSB_BUSIFFN_SET_DEVHANDLE_DATA SetDeviceHandleData
PINTERFACE_REFERENCE InterfaceReference
PUSB_BUSIFFN_RESTORE_DEVICE RestoreUsbDevice
PUSB_BUSIFFN_SET_BUS_WAKE_MODE SetBusSystemWakeMode
PUSB_BUSIFFN_INITIALIZE_20HUB Initialize20Hub
PUSB_BUSIFFN_CALC_PIPE_BANDWIDTH CaculatePipeBandwidth
PUSB_BUSIFFN_INITIALIZE_USB_DEVICE_EX InitializeUsbDevice
PUSB_BUSIFFN_ACQUIRE_SEMAPHORE AcquireBusSemaphore
PINTERFACE_DEREFERENCE InterfaceDereference
PUSB_BUSIFFN_GET_USB_DESCRIPTORS GetUsbDescriptors
PUSB_BUSIFFN_ROOTHUB_INIT_NOTIFY RootHubInitNotification
PUSB_BUSIFFN_GET_DEVICE_INFORMATION QueryDeviceInformation
PUSB_BUSIFFN_SET_DEVICE_HANDLE_IDLE_READY_STATE SetDeviceHandleIdleReadyState
PUSB_BUSIFFN_GET_POTRTHACK_FLAGS GetPortHackFlags
PUSB_BUSIFFN_GET_DEVICE_ADDRESS GetDeviceAddress
PUSB_BUSIFFN_REMOVE_USB_DEVICE RemoveUsbDevice
PUSB_BUSIFFN_ABORT_ALL_DEVICE_PIPES AbortAllDevicePipes
PUSB_BUSIFFN_DEREF_DEVICE_HANDLE DerefDeviceHandle
PUSB_BUSIFFN_WAIT_ASYNC_POWERUP WaitAsyncPowerUp
PUSB_BUSIFFN_CONTROLLER_SELECTIVE_SUSPEND ControllerSelectiveSuspend
PUSB_BUSIFFN_CREATE_USB_DEVICE_V7 CreateUsbDeviceV7
PUSB_BUSIFFN_GET_CONTAINER_ID_FOR_PORT GetContainerIdForPort
PUSB_BUSIFFN_GET_DEVICE_PERFORMANCE_INFO GetDevicePerformanceInfo
PUSB_BUSIFFN_REF_DEVICE_HANDLE RefDeviceHandle
PUSB_BUSIFFN_TEST_POINT HubTestPoint
PUSB_BUSIFFN_IS_ROOT HubIsRoot
PUSB_BUSIFFN_GET_CONTROLLER_INFORMATION GetControllerInformation
PUSB_BUSIFFN_SET_DEVICE_FLAG SetDeviceFlag
PUSB_BUSIFFN_GET_ROOTHUB_SYM_NAME GetRootHubSymbolicName
PUSB_BUSIFFN_CREATE_USB_DEVICE_EX CreateUsbDevice
PUSB_BUSIFFN_GET_EXTENDED_HUB_INFO GetExtendedHubInformation
enum _USB_DEVICE_SPEED USB_DEVICE_SPEED
enum _USB_DEVICE_TYPE USB_DEVICE_TYPE
_Must_inspect_result_ _In_ WDFCOLLECTION _In_ WDFOBJECT Object
_In_ PDEVICE_OBJECT DeviceObject
_Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN _In_opt_ PVOID Tag
WDF_EXTERN_C_START typedef _Must_inspect_result_ _In_ WDFDRIVER _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ PDEVICE_OBJECT _In_opt_ PDEVICE_OBJECT _In_opt_ PDEVICE_OBJECT Pdo
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ ULONG ValueLength
_In_ WDFUSBINTERFACE _In_ UCHAR _Out_opt_ PWDF_USB_PIPE_INFORMATION PipeInfo
_Must_inspect_result_ _In_ ULONG Flags