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 38 USB_BUSIFFN_CREATE_USB_DEVICE (
69 USB_BUSIFFN_CREATE_USB_DEVICE_EX (
87 USB_BUSIFFN_CREATE_USB_DEVICE_V7 (
119 USB_BUSIFFN_INITIALIZE_USB_DEVICE(
127 USB_BUSIFFN_INITIALIZE_USB_DEVICE_EX(
136 USB_BUSIFFN_REMOVE_USB_DEVICE(
145 USB_BUSIFFN_GET_USB_DESCRIPTORS(
159 USB_BUSIFFN_RESTORE_DEVICE(
168 USB_BUSIFFN_GET_POTRTHACK_FLAGS(
176 USB_BUSIFFN_GET_DEVICE_INFORMATION(
180 PVOID DeviceInformationBuffer,
188 USB_BUSIFFN_GET_CONTROLLER_INFORMATION(
191 PVOID ControllerInformationBuffer,
199 USB_BUSIFFN_CONTROLLER_SELECTIVE_SUSPEND(
207 USB_BUSIFFN_GET_EXTENDED_HUB_INFO(
211 PVOID HubInformationBuffer,
219 USB_BUSIFFN_GET_ROOTHUB_SYM_NAME(
229 USB_BUSIFFN_GET_DEVICE_BUSCONTEXT(
237 USB_BUSIFFN_INITIALIZE_20HUB(
254 USB_BUSIFFN_ACQUIRE_SEMAPHORE(
261 USB_BUSIFFN_RELEASE_SEMAPHORE(
275 USB_BUSIFFN_ROOTHUB_INIT_NOTIFY(
284 USB_BUSIFFN_FLUSH_TRANSFERS(
292 USB_BUSIFFN_CALC_PIPE_BANDWIDTH(
301 USB_BUSIFFN_SET_BUS_WAKE_MODE(
309 USB_BUSIFFN_SET_DEVICE_FLAG(
319 USB_BUSIFFN_SET_DEVHANDLE_DATA(
328 USB_BUSIFFN_TEST_POINT(
338 USB_BUSIFFN_GET_DEVICE_PERFORMANCE_INFO(
342 PVOID DeviceInformationBuffer,
350 USB_BUSIFFN_WAIT_ASYNC_POWERUP(
357 USB_BUSIFFN_GET_DEVICE_ADDRESS(
366 USB_BUSIFFN_DEREF_DEVICE_HANDLE(
376 USB_BUSIFFN_REF_DEVICE_HANDLE(
386 USB_BUSIFFN_SET_DEVICE_HANDLE_IDLE_READY_STATE(
395 USB_BUSIFFN_GET_CONTAINER_ID_FOR_PORT(
404 USB_BUSIFFN_SET_CONTAINER_ID_FOR_PORT(
413 USB_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 437 USB_BUSIFFN_SET_DEVICE_ERRATA_FLAG(
444 0xb2bb8c0a, 0x5ab4, 0x11d3, 0xa8, 0xcd, 0
x0, 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);
675 #include <pshpack1.h> enum _USB_DEVICE_TYPE USB_DEVICE_TYPE
_In_ PDEVICE_OBJECT HubPhysicalDeviceObject
PUSB_BUSIFFN_RELEASE_SEMAPHORE ReleaseBusSemaphore
PUSB_BUSIFFN_ABORT_ALL_DEVICE_PIPES AbortAllDevicePipes
PUSB_BUSIFFN_GET_CONTAINER_ID_FOR_PORT GetContainerIdForPort
struct _USB_BUS_INTERFACE_HUB_V0 * PUSB_BUS_INTERFACE_HUB_V0
PUSB_BUSIFFN_GET_ROOTHUB_SYM_NAME GetRootHubSymbolicName
PINTERFACE_DEREFERENCE InterfaceDereference
PINTERFACE_REFERENCE InterfaceReference
PUSB_BUSIFFN_GET_EXTENDED_HUB_INFO GetExtendedHubInformation
_Outptr_ PUSB_DEVICE_HANDLE _In_ PUSB_DEVICE_HANDLE _In_ USHORT _In_ USHORT PortNumber
PUSB_BUSIFFN_GET_DEVICE_BUSCONTEXT GetDeviceBusContext
_Inout_ PUSB_DEVICE_HANDLE _Out_writes_bytes_to_ DeviceDescriptorBufferLength PUCHAR _Inout_ PULONG _Out_writes_bytes_to_ ConfigDescriptorBufferLength PUCHAR ConfigDescriptorBuffer
_In_ PVOID CallbackContext
PUSB_BUSIFFN_GET_EXTENDED_HUB_INFO GetExtendedHubInformation
_In_ PVOID _In_ ULONG Opcode
PUSB_BUSIFFN_GET_EXTENDED_HUB_INFO GetExtendedHubInformation
_Inout_ PUSB_DEVICE_HANDLE DeviceHandle
USB_BUSIFFN_SET_CONTAINER_ID_FOR_PORT * PUSB_BUSIFFN_SET_CONTAINER_ID_FOR_PORT
PUSB_BUSIFFN_RELEASE_SEMAPHORE ReleaseBusSemaphore
USB_BUSIFFN_REMOVE_USB_DEVICE * PUSB_BUSIFFN_REMOVE_USB_DEVICE
PUSB_BUSIFFN_TEST_POINT HubTestPoint
struct _USB_BUS_INTERFACE_HUB_V4 * PUSB_BUS_INTERFACE_HUB_V4
PUSB_BUSIFFN_SUSPEND_HUB SuspendHub
struct _USB_BUS_INTERFACE_HUB_MINIDUMP USB_BUS_INTERFACE_HUB_MINIDUMP
PUSB_BUSIFFN_RESUME_HUB ResumeHub
struct _USB_BUS_INTERFACE_HUB_V7 * PUSB_BUS_INTERFACE_HUB_V7
_In_ GUID * DeviceFlagGuid
struct _USB_PORT_PATH USB_PORT_PATH
USB_BUSIFFN_GET_DEVICE_ADDRESS * PUSB_BUSIFFN_GET_DEVICE_ADDRESS
PUSB_BUSIFFN_INITIALIZE_USB_DEVICE InitializeUsbDevice
NTSTATUS(USB_BUSIFFN * PUSB_BUSIFFN_SUSPEND_HUB)(PDEVICE_OBJECT Pdo)
PINTERFACE_REFERENCE InterfaceReference
PUSB_BUSIFFN_GET_POTRTHACK_FLAGS GetPortHackFlags
PINTERFACE_DEREFERENCE InterfaceDereference
struct _USB_EXTPORT_INFORMATION_0 USB_EXTPORT_INFORMATION_0
PUSB_BUSIFFN_FLUSH_TRANSFERS FlushTransfers
VOID(WINAPI * PINTERFACE_DEREFERENCE)(PVOID Context)
USB_BUSIFFN_GET_ROOTHUB_SYM_NAME * PUSB_BUSIFFN_GET_ROOTHUB_SYM_NAME
PUSB_BUSIFFN_INITIALIZE_USB_DEVICE_EX InitializeUsbDevice
USB_BUSIFFN_ABORT_ALL_DEVICE_PIPES * PUSB_BUSIFFN_ABORT_ALL_DEVICE_PIPES
PINTERFACE_DEREFERENCE InterfaceDereference
_Inout_updates_bytes_to_(ControllerInformationBufferLength, *LengthOfDataCopied) PVOID ControllerInformationBuffer
PUSB_BUSIFFN_INITIALIZE_USB_DEVICE InitializeUsbDevice
PUSB_BUSIFFN_CALC_PIPE_BANDWIDTH CaculatePipeBandwidth
PINTERFACE_REFERENCE InterfaceReference
PUSB_BUSIFFN_RESTORE_DEVICE RestoreUsbDevice
PUSB_BUSIFFN_FLUSH_TRANSFERS FlushTransfers
USB_BUSIFFN_GET_CONTROLLER_INFORMATION * PUSB_BUSIFFN_GET_CONTROLLER_INFORMATION
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN Enable
PUSB_BUSIFFN_SET_DEVICE_ERRATA_FLAG SetDeviceErrataFlag
PUSB_BUSIFFN_GET_DEVICE_INFORMATION QueryDeviceInformation
VOID(USB_BUSIFFN * PUSB_BUSIFFN_SET_MINIDUMP_FLAGS)(IN PVOID)
PUSB_BUSIFFN_SET_MINIDUMP_FLAGS SetUsbPortMiniDumpFlags
PUSB_BUSIFFN_REMOVE_USB_DEVICE RemoveUsbDevice
struct _USB_BUS_INTERFACE_HUB_SELECTIVE_SUSPEND USB_BUS_INTERFACE_HUB_SELECTIVE_SUSPEND
_Outptr_ PUSB_DEVICE_HANDLE _In_ PUSB_DEVICE_HANDLE HubDeviceHandle
PUSB_BUSIFFN_WAIT_ASYNC_POWERUP WaitAsyncPowerUp
struct _USB_BUS_INTERFACE_HUB_V7 USB_BUS_INTERFACE_HUB_V7
USB_BUSIFFN_GET_USB_DESCRIPTORS * PUSB_BUSIFFN_GET_USB_DESCRIPTORS
PUSB_BUSIFFN_REF_DEVICE_HANDLE RefDeviceHandle
PUSB_BUSIFFN_REMOVE_USB_DEVICE RemoveUsbDevice
struct _USB_ID_ERROR_INFORMATION USB_ID_ERROR_INFORMATION
PUSB_BUSIFFN_GET_USB_DESCRIPTORS GetUsbDescriptors
PINTERFACE_DEREFERENCE InterfaceDereference
USB_BUSIFFN_INITIALIZE_20HUB * PUSB_BUSIFFN_INITIALIZE_20HUB
struct _USB_BUS_INTERFACE_HUB_V1 USB_BUS_INTERFACE_HUB_V1
PUSB_BUSIFFN_INITIALIZE_USB_DEVICE_EX InitializeUsbDevice
_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
struct _USB_PIPE_INFORMATION_0 USB_PIPE_INFORMATION_0
PINTERFACE_REFERENCE InterfaceReference
PUSB_BUSIFFN_ACQUIRE_SEMAPHORE AcquireBusSemaphore
struct _USB_BUS_INTERFACE_HUB_V5 * PUSB_BUS_INTERFACE_HUB_V5
PUSB_BUSIFFN_RESTORE_DEVICE RestoreUsbDevice
enum _USBPORT_CREATEDEV_ERROR USBPORT_CREATEDEV_ERROR
PUSB_BUSIFFN_GET_DEVICE_INFORMATION QueryDeviceInformation
PINTERFACE_DEREFERENCE InterfaceDereference
PUSB_BUSIFFN_GET_DEVICE_BUSCONTEXT GetDeviceBusContext
PUSB_BUSIFFN_GET_DEVICE_BUSCONTEXT GetDeviceBusContext
PUSB_BUSIFFN_GET_CONTROLLER_INFORMATION GetControllerInformation
PUSB_BUSIFFN_SET_DEVICE_HANDLE_IDLE_READY_STATE SetDeviceHandleIdleReadyState
PUSB_BUSIFFN_GET_DEVICE_INFORMATION QueryDeviceInformation
PUSB_BUSIFFN_SET_DEVICE_FLAG SetDeviceFlag
struct _USB_DEVICE_INFORMATION_0 * PUSB_DEVICE_INFORMATION_0
USB_BUSIFFN_RESTORE_DEVICE * PUSB_BUSIFFN_RESTORE_DEVICE
_In_ PVOID _In_ PRH_INIT_CALLBACK CallbackRoutine
PUSB_BUSIFFN_DEREF_DEVICE_HANDLE DerefDeviceHandle
struct _USB_DEVICE_PERFORMANCE_INFO_0 USB_DEVICE_PERFORMANCE_INFO_0
PUSB_BUSIFFN_GET_POTRTHACK_FLAGS GetPortHackFlags
PUSB_BUSIFFN_INITIALIZE_20HUB Initialize20Hub
enum _USBPORT_INITDEV_ERROR USBPORT_INITDEV_ERROR
PUSB_BUSIFFN_GET_EXTENDED_HUB_INFO GetExtendedHubInformation
PUSB_BUSIFFN_IS_ROOT HubIsRoot
PUSB_BUSIFFN_GET_CONTROLLER_INFORMATION GetControllerInformation
struct _USB_CONTROLLER_INFORMATION_0 USB_CONTROLLER_INFORMATION_0
USB_BUSIFFN_SET_DEVICE_FLAG * PUSB_BUSIFFN_SET_DEVICE_FLAG
PINTERFACE_DEREFERENCE InterfaceDereference
PUSB_BUSIFFN_CREATE_USB_DEVICE CreateUsbDevice
PUSB_BUSIFFN_GET_POTRTHACK_FLAGS GetPortHackFlags
_In_ PDEVICE_OBJECT DeviceObject
PUSB_BUSIFFN_GET_ROOTHUB_SYM_NAME GetRootHubSymbolicName
_Inout_ PUSB_DEVICE_HANDLE OldDeviceHandle
PUSB_BUSIFFN_TEST_POINT HubTestPoint
struct _USB_BUS_INTERFACE_HUB_V6 * PUSB_BUS_INTERFACE_HUB_V6
_In_ PUSB_DEVICE_HANDLE _In_ ULONG DeviceErrataFlag
USB_BUSIFFN_GET_DEVICE_BUSCONTEXT * PUSB_BUSIFFN_GET_DEVICE_BUSCONTEXT
PINTERFACE_DEREFERENCE InterfaceDereference
PUSB_BUSIFFN_SET_DEVICE_HANDLE_IDLE_READY_STATE SetDeviceHandleIdleReadyState
PUSB_BUSIFFN_GET_DEVICE_BUSCONTEXT GetDeviceBusContext
_In_ PVOID _In_ PDEVICE_OBJECT UsbDevicePdo
struct _USB_CD_ERROR_INFORMATION * PUSB_CD_ERROR_INFORMATION
struct _USB_DEVICE_INFORMATION_0 USB_DEVICE_INFORMATION_0
struct _USB_EXTHUB_INFORMATION_0 * PUSB_EXTHUB_INFORMATION_0
PUSB_BUSIFFN_REMOVE_USB_DEVICE RemoveUsbDevice
struct _USB_EXTPORT_INFORMATION_0 * PUSB_EXTPORT_INFORMATION
_In_ PUSB_DEVICE_HANDLE _Out_ PUSHORT DeviceAddress
PUSB_BUSIFFN_RESTORE_DEVICE RestoreUsbDevice
struct _USB_BUS_INTERFACE_HUB_MINIDUMP * PUSB_BUS_INTERFACE_HUB_MINIDUMP
USB_BUSIFFN_ACQUIRE_SEMAPHORE * PUSB_BUSIFFN_ACQUIRE_SEMAPHORE
PUSB_BUSIFFN_SET_DEVHANDLE_DATA SetDeviceHandleData
PINTERFACE_REFERENCE InterfaceReference
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
PUSB_BUSIFFN_WAIT_ASYNC_POWERUP WaitAsyncPowerUp
PUSB_BUSIFFN_GET_DEVICE_BUSCONTEXT GetDeviceBusContext
USB_BUSIFFN_DEREF_DEVICE_HANDLE * PUSB_BUSIFFN_DEREF_DEVICE_HANDLE
PUSB_BUSIFFN_INITIALIZE_20HUB Initialize20Hub
_Inout_ PUSB_DEVICE_HANDLE _Out_writes_bytes_to_ DeviceDescriptorBufferLength PUCHAR DeviceDescriptorBuffer
PUSB_BUSIFFN_ROOTHUB_INIT_NOTIFY RootHubInitNotification
PUSB_BUSIFFN_SET_BUS_WAKE_MODE SetBusSystemWakeMode
struct _USB_PIPE_INFORMATION_0 * PUSB_PIPE_INFORMATION_0
PUSB_BUSIFFN_FLUSH_TRANSFERS FlushTransfers
_In_ ULONG _Out_ PULONG HubSymNameActualLength
PUSB_BUSIFFN_GET_CONTROLLER_INFORMATION GetControllerInformation
PUSB_BUSIFFN_GET_DEVICE_INFORMATION QueryDeviceInformation
PUSB_BUSIFFN_GET_DEVICE_PERFORMANCE_INFO GetDevicePerformanceInfo
PUSB_BUSIFFN_RESTORE_DEVICE RestoreUsbDevice
struct _USB_CONTROLLER_INFORMATION_0 * PUSB_CONTROLLER_INFORMATION_0
PUSB_BUSIFFN_ROOTHUB_INIT_NOTIFY RootHubInitNotification
PUSB_BUSIFFN_GET_USB_DESCRIPTORS GetUsbDescriptors
USB_BUSIFFN_SET_BUS_WAKE_MODE * PUSB_BUSIFFN_SET_BUS_WAKE_MODE
USB_BUSIFFN_GET_POTRTHACK_FLAGS * PUSB_BUSIFFN_GET_POTRTHACK_FLAGS
_In_ PUSB_DEVICE_HANDLE _Out_writes_bytes_to_(DeviceInformationBufferLength, *LengthOfDataCopied) PVOID DeviceInformationBuffer
PUSB_BUSIFFN_GET_EXTENDED_HUB_INFO GetExtendedHubInformation
PUSB_BUSIFFN_GET_USB_DESCRIPTORS GetUsbDescriptors
PINTERFACE_REFERENCE InterfaceReference
PUSB_BUSIFFN_SET_DEVHANDLE_DATA SetDeviceHandleData
enum _USB_DEVICE_SPEED USB_DEVICE_SPEED
PUSB_BUSIFFN_CREATE_USB_DEVICE_EX CreateUsbDevice
PUSB_BUSIFFN_GET_CONTROLLER_INFORMATION GetControllerInformation
_In_ PUSB_DEVICE_HANDLE _In_ ULONG _Inout_ PULONG LengthOfDataCopied
struct _USB_BUS_INTERFACE_HUB_V3 * PUSB_BUS_INTERFACE_HUB_V3
PUSB_BUSIFFN_SET_BUS_WAKE_MODE SetBusSystemWakeMode
PUSB_BUSIFFN_ROOTHUB_INIT_NOTIFY RootHubInitNotification
struct _USB_BUS_INTERFACE_HUB_SELECTIVE_SUSPEND * PUSB_BUS_INTERFACE_HUB_SELECTIVE_SUSPEND
struct _USB_PORT_PATH * PUSB_PORT_PATH
_Outptr_ PUSB_DEVICE_HANDLE _In_ PUSB_DEVICE_HANDLE _In_ USHORT _In_ USHORT _Out_ PUSB_CD_ERROR_INFORMATION CdErrorInfo
struct _USB_CD_ERROR_INFORMATION USB_CD_ERROR_INFORMATION
PUSB_BUSIFFN_CREATE_USB_DEVICE CreateUsbDevice
USB_BUSIFFN_SET_DEVICE_HANDLE_IDLE_READY_STATE * PUSB_BUSIFFN_SET_DEVICE_HANDLE_IDLE_READY_STATE
PUSB_BUSIFFN_REMOVE_USB_DEVICE RemoveUsbDevice
USB_BUSIFFN_CONTROLLER_SELECTIVE_SUSPEND * PUSB_BUSIFFN_CONTROLLER_SELECTIVE_SUSPEND
_Outptr_ PUSB_DEVICE_HANDLE _In_ PUSB_DEVICE_HANDLE _In_ USHORT _In_ PUSB_PORT_PATH PortPath
_Must_inspect_result_ _In_ ULONG Flags
PUSB_BUSIFFN_GET_DEVICE_INFORMATION QueryDeviceInformation
struct _USB_LEVEL_INFORMATION * PUSB_LEVEL_INFORMATION
PUSB_BUSIFFN_GET_DEVICE_ADDRESS GetDeviceAddress
struct _USB_BUS_INTERFACE_HUB_V4 USB_BUS_INTERFACE_HUB_V4
PUSB_BUSIFFN_ACQUIRE_SEMAPHORE AcquireBusSemaphore
PUSB_BUSIFFN_INITIALIZE_USB_DEVICE InitializeUsbDevice
struct _ROOTHUB_PDO_EXTENSION ROOTHUB_PDO_EXTENSION
PUSB_BUSIFFN_GET_POTRTHACK_FLAGS GetPortHackFlags
PUSB_BUSIFFN_RESTORE_DEVICE RestoreUsbDevice
PUSB_BUSIFFN_GET_USB_DESCRIPTORS GetUsbDescriptors
PUSB_BUSIFFN_CONTROLLER_SELECTIVE_SUSPEND ControllerSelectiveSuspend
USB_BUSIFFN_TEST_POINT * PUSB_BUSIFFN_TEST_POINT
_In_ ULONG ControllerInformationBufferLength
PUSB_BUSIFFN_INITIALIZE_20HUB Initialize20Hub
_In_ GUID _In_ PVOID ValueData
RH_INIT_CALLBACK * PRH_INIT_CALLBACK
PUSB_BUSIFFN_REMOVE_USB_DEVICE RemoveUsbDevice
PUSB_BUSIFFN_RESTORE_DEVICE RestoreUsbDevice
PUSB_BUSIFFN_GET_USB_DESCRIPTORS GetUsbDescriptors
USB_BUSIFFN_CALC_PIPE_BANDWIDTH * PUSB_BUSIFFN_CALC_PIPE_BANDWIDTH
PUSB_BUSIFFN_INITIALIZE_20HUB Initialize20Hub
struct _USB_CONTROLLER_INFORMATION_1 * PUSB_CONTROLLER_INFORMATION_1
PINTERFACE_REFERENCE InterfaceReference
_Inout_ PUSB_DEVICE_HANDLE _Out_writes_bytes_to_ DeviceDescriptorBufferLength PUCHAR _Inout_ PULONG DeviceDescriptorBufferLength
PUSB_BUSIFFN_GET_DEVICE_BUSCONTEXT GetDeviceBusContext
PUSB_BUSIFFN_RESTORE_DEVICE RestoreUsbDevice
PUSB_BUSIFFN_CONTROLLER_SELECTIVE_SUSPEND ControllerSelectiveSuspend
PINTERFACE_REFERENCE InterfaceReference
PUSB_BUSIFFN_CREATE_USB_DEVICE_EX CreateUsbDevice
PUSB_BUSIFFN_GET_DEVICE_INFORMATION QueryDeviceInformation
PUSB_BUSIFFN_FLUSH_TRANSFERS FlushTransfers
struct _USB_ID_ERROR_INFORMATION * PUSB_ID_ERROR_INFORMATION
_Inout_ PUSB_DEVICE_HANDLE _Out_writes_bytes_to_ DeviceDescriptorBufferLength PUCHAR _Inout_ PULONG _Out_writes_bytes_to_ ConfigDescriptorBufferLength PUCHAR _Inout_ PULONG ConfigDescriptorBufferLength
USB_BUSIFFN_INITIALIZE_USB_DEVICE * PUSB_BUSIFFN_INITIALIZE_USB_DEVICE
USB_BUSIFFN_CREATE_USB_DEVICE_V7 * PUSB_BUSIFFN_CREATE_USB_DEVICE_V7
USB_BUSIFFN_RELEASE_SEMAPHORE * PUSB_BUSIFFN_RELEASE_SEMAPHORE
PUSB_BUSIFFN_REF_DEVICE_HANDLE RefDeviceHandle
_In_ WDFUSBINTERFACE _In_ UCHAR _Out_opt_ PWDF_USB_PIPE_INFORMATION PipeInfo
_Outptr_ PUSB_DEVICE_HANDLE _In_ PUSB_DEVICE_HANDLE _In_ USHORT PortStatus
_Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN _In_opt_ PVOID Tag
struct _USB_BUS_INTERFACE_HUB_V2 USB_BUS_INTERFACE_HUB_V2
_In_ PUSB_DEVICE_HANDLE _In_ ULONG NewIdleReadyState
PUSB_BUSIFFN_CONTROLLER_SELECTIVE_SUSPEND ControllerSelectiveSuspend
_Must_inspect_result_ _In_ WDFCOLLECTION _In_ WDFOBJECT Object
PUSB_BUSIFFN_CONTROLLER_SELECTIVE_SUSPEND ControllerSelectiveSuspend
USB_BUSIFFN_IS_ROOT * PUSB_BUSIFFN_IS_ROOT
PUSB_BUSIFFN_GET_ROOTHUB_SYM_NAME GetRootHubSymbolicName
PUSB_BUSIFFN_ROOTHUB_INIT_NOTIFY RootHubInitNotification
USB_BUSIFFN_CREATE_USB_DEVICE * PUSB_BUSIFFN_CREATE_USB_DEVICE
struct _USB_EXTHUB_INFORMATION_0 USB_EXTHUB_INFORMATION_0
PUSB_BUSIFFN_REMOVE_USB_DEVICE RemoveUsbDevice
PUSB_BUSIFFN_GET_DEVICE_INFORMATION QueryDeviceInformation
DEFINE_GUID(USB_BUS_INTERFACE_HUB_GUID, 0xb2bb8c0a, 0x5ab4, 0x11d3, 0xa8, 0xcd, 0x0, 0xc0, 0x4f, 0x68, 0x74, 0x7a)
PUSB_BUSIFFN_GET_CONTROLLER_INFORMATION GetControllerInformation
PUSB_BUSIFFN_GET_ROOTHUB_SYM_NAME GetRootHubSymbolicName
PUSB_BUSIFFN_INITIALIZE_20HUB Initialize20Hub
PUSB_BUSIFFN_GET_DEVICE_ADDRESS GetDeviceAddress
USB_BUSIFFN_REF_DEVICE_HANDLE * PUSB_BUSIFFN_REF_DEVICE_HANDLE
NTSTATUS(USB_BUSIFFN * PUSB_BUSIFFN_RESUME_HUB)(PDEVICE_OBJECT Pdo)
struct _USB_BUS_INTERFACE_HUB_V1 * PUSB_BUS_INTERFACE_HUB_V1
PUSB_BUSIFFN_GET_USB_DESCRIPTORS GetUsbDescriptors
USB_BUSIFFN_FLUSH_TRANSFERS * PUSB_BUSIFFN_FLUSH_TRANSFERS
_Outptr_ PUSB_DEVICE_HANDLE _In_ PUSB_DEVICE_HANDLE HsHubDeviceHandle
PUSB_BUSIFFN_SET_DEVHANDLE_DATA SetDeviceHandleData
PUSB_BUSIFFN_ROOTHUB_INIT_NOTIFY RootHubInitNotification
PUSB_BUSIFFN_GET_DEVICE_PERFORMANCE_INFO GetDevicePerformanceInfo
PINTERFACE_DEREFERENCE InterfaceDereference
struct _ROOTHUB_PDO_EXTENSION * PROOTHUB_PDO_EXTENSION
PUSB_BUSIFFN_CREATE_USB_DEVICE CreateUsbDevice
_Inout_ PUSB_DEVICE_HANDLE _Out_ PUSB_ID_ERROR_INFORMATION IdErrInfo
USB_BUSIFFN_ROOTHUB_INIT_NOTIFY * PUSB_BUSIFFN_ROOTHUB_INIT_NOTIFY
PUSB_BUSIFFN_CREATE_USB_DEVICE_V7 CreateUsbDeviceV7
PINTERFACE_REFERENCE InterfaceReference
PUSB_BUSIFFN_INITIALIZE_USB_DEVICE InitializeUsbDevice
_In_ PUSB_DEVICE_HANDLE _In_ ULONG DeviceInformationBufferLength
PUSB_BUSIFFN_SET_CONTAINER_ID_FOR_PORT SetContainerIdForPort
PUSB_BUSIFFN_CREATE_USB_DEVICE CreateUsbDevice
PUSB_BUSIFFN_SET_DEVICE_FLAG SetDeviceFlag
struct _USB_BUS_INTERFACE_HUB_V0 USB_BUS_INTERFACE_HUB_V0
struct _USB_BUS_INTERFACE_HUB_V2 * PUSB_BUS_INTERFACE_HUB_V2
PUSB_BUSIFFN_GET_POTRTHACK_FLAGS GetPortHackFlags
USB_BUSIFFN_GET_DEVICE_PERFORMANCE_INFO * PUSB_BUSIFFN_GET_DEVICE_PERFORMANCE_INFO
_In_ PUSB_DEVICE_HANDLE _In_ ULONG TtCount
PUSB_BUSIFFN_REMOVE_USB_DEVICE RemoveUsbDevice
_In_ PDEVICE_OBJECT _In_ ULONG HubInformationBufferLength
PUSB_BUSIFFN_GET_CONTROLLER_INFORMATION GetControllerInformation
_Function_class_(USB_BUSIFFN_CREATE_USB_DEVICE) typedef NTSTATUS USB_BUSIFFN USB_BUSIFFN_CREATE_USB_DEVICE(_In_ PVOID BusContext
PINTERFACE_DEREFERENCE InterfaceDereference
PUSB_BUSIFFN_CONTROLLER_SELECTIVE_SUSPEND ControllerSelectiveSuspend
PUSB_BUSIFFN_DEREF_DEVICE_HANDLE DerefDeviceHandle
USB_BUSIFFN_GET_EXTENDED_HUB_INFO * PUSB_BUSIFFN_GET_EXTENDED_HUB_INFO
_Outptr_ PUSB_DEVICE_HANDLE _In_ PUSB_DEVICE_HANDLE _In_ USHORT _In_ USHORT _Out_ PUSB_CD_ERROR_INFORMATION _In_ USHORT TtPortNumber
USB_BUSIFFN_WAIT_ASYNC_POWERUP * PUSB_BUSIFFN_WAIT_ASYNC_POWERUP
PUSB_BUSIFFN_INITIALIZE_20HUB Initialize20Hub
_Outptr_ PUSB_DEVICE_HANDLE * NewDeviceHandle
PUSB_BUSIFFN_GET_ROOTHUB_SYM_NAME GetRootHubSymbolicName
USB_BUSIFFN_INITIALIZE_USB_DEVICE_EX * PUSB_BUSIFFN_INITIALIZE_USB_DEVICE_EX
PUSB_BUSIFFN_CALC_PIPE_BANDWIDTH CaculatePipeBandwidth
struct _USB_BUS_INTERFACE_HUB_V5 USB_BUS_INTERFACE_HUB_V5
PUSB_BUSIFFN_IS_ROOT HubIsRoot
PUSB_BUSIFFN_GET_USB_DESCRIPTORS GetUsbDescriptors
_In_ ULONG HubSymNameBufferLength
VOID(WINAPI * PINTERFACE_REFERENCE)(PVOID Context)
USB_BUSIFFN_CREATE_USB_DEVICE_EX * PUSB_BUSIFFN_CREATE_USB_DEVICE_EX
struct _USB_DEVICE_PERFORMANCE_INFO_0 * PUSB_DEVICE_PERFORMANCE_INFO_0
PINTERFACE_DEREFERENCE InterfaceDereference
struct _USB_BUS_INTERFACE_HUB_V6 USB_BUS_INTERFACE_HUB_V6
USB_BUSIFFN_SET_DEVICE_ERRATA_FLAG * PUSB_BUSIFFN_SET_DEVICE_ERRATA_FLAG
_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
USB_BUSIFFN_GET_CONTAINER_ID_FOR_PORT * PUSB_BUSIFFN_GET_CONTAINER_ID_FOR_PORT
struct _USB_CONTROLLER_INFORMATION_1 USB_CONTROLLER_INFORMATION_1
_In_ PUSBD_PIPE_INFORMATION _In_ USB_DEVICE_SPEED DeviceSpeed
USB_BUSIFFN_GET_DEVICE_INFORMATION * PUSB_BUSIFFN_GET_DEVICE_INFORMATION
PUSB_BUSIFFN_CONTROLLER_SELECTIVE_SUSPEND ControllerSelectiveSuspend
PUSB_BUSIFFN_GET_ROOTHUB_SYM_NAME GetRootHubSymbolicName
struct _USB_BUS_INTERFACE_HUB_V3 USB_BUS_INTERFACE_HUB_V3
PUSB_BUSIFFN_GET_EXTENDED_HUB_INFO GetExtendedHubInformation
PUSB_BUSIFFN_CREATE_USB_DEVICE CreateUsbDevice
struct _USB_LEVEL_INFORMATION USB_LEVEL_INFORMATION
USB_BUSIFFN_SET_DEVHANDLE_DATA * PUSB_BUSIFFN_SET_DEVHANDLE_DATA
PINTERFACE_REFERENCE InterfaceReference
PUSB_BUSIFFN_GET_POTRTHACK_FLAGS GetPortHackFlags
_In_ USHORT _Out_ LPGUID ContainerId
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ ULONG ValueLength
PUSB_BUSIFFN_GET_POTRTHACK_FLAGS GetPortHackFlags
PUSB_BUSIFFN_INITIALIZE_USB_DEVICE InitializeUsbDevice