ReactOS  0.4.14-dev-606-g14ebc0b
usbmport.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _USBPORT_RESOURCES
 
struct  _USBPORT_ENDPOINT_PROPERTIES
 
struct  _USBPORT_TRANSFER_PARAMETERS
 
struct  _USBPORT_SCATTER_GATHER_ELEMENT
 
struct  _USBPORT_SCATTER_GATHER_LIST
 
struct  _USBPORT_ENDPOINT_REQUIREMENTS
 
struct  _USBPORT_REGISTRATION_PACKET
 
struct  _USBPORT_MINIPORT_INTERFACE
 
union  _USBPORT_HUB_11_CHARACTERISTICS
 
union  _USBPORT_HUB_20_CHARACTERISTICS
 
union  _USBPORT_HUB_CHARACTERISTICS
 
struct  _USBPORT_ROOT_HUB_DATA
 

Macros

#define USBPORT_HCI_MN   0x10000001
 
#define USBPORT_TRANSFER_TYPE_ISOCHRONOUS   0
 
#define USBPORT_TRANSFER_TYPE_CONTROL   1
 
#define USBPORT_TRANSFER_TYPE_BULK   2
 
#define USBPORT_TRANSFER_TYPE_INTERRUPT   3
 
#define USBPORT_ENDPOINT_UNKNOWN   0
 
#define USBPORT_ENDPOINT_PAUSED   2
 
#define USBPORT_ENDPOINT_ACTIVE   3
 
#define USBPORT_ENDPOINT_REMOVE   4
 
#define USBPORT_ENDPOINT_CLOSED   5
 
#define USBPORT_ENDPOINT_RUN   0
 
#define USBPORT_ENDPOINT_HALT   1
 
#define USBPORT_ENDPOINT_CONTROL   4
 
#define ENDPOINT_INTERRUPT_1ms   1
 
#define ENDPOINT_INTERRUPT_2ms   2
 
#define ENDPOINT_INTERRUPT_4ms   4
 
#define ENDPOINT_INTERRUPT_8ms   8
 
#define ENDPOINT_INTERRUPT_16ms   16
 
#define ENDPOINT_INTERRUPT_32ms   32
 
#define INTERRUPT_ENDPOINTs
 
#define USBPORT_RESOURCES_PORT   1
 
#define USBPORT_RESOURCES_INTERRUPT   2
 
#define USBPORT_RESOURCES_MEMORY   4
 
#define MP_STATUS_SUCCESS   0
 
#define MP_STATUS_FAILURE   1
 
#define MP_STATUS_NO_RESOURCES   2
 
#define MP_STATUS_NO_BANDWIDTH   3
 
#define MP_STATUS_ERROR   4
 
#define MP_STATUS_RESERVED1   5
 
#define MP_STATUS_NOT_SUPPORTED   6
 
#define MP_STATUS_HW_ERROR   7
 
#define MP_STATUS_UNSUCCESSFUL   8
 
#define RH_STATUS_SUCCESS   0
 
#define RH_STATUS_NO_CHANGES   1
 
#define RH_STATUS_UNSUCCESSFUL   2
 
#define USBC_DEVICE_CLASS_TYPE_C_BRIDGE   0x12
 
#define USB20_PORT_STATUS_RESERVED1_OWNED_BY_COMPANION   (1 << 2)
 
#define USBPORT_INVALIDATE_CONTROLLER_RESET   1
 
#define USBPORT_INVALIDATE_CONTROLLER_SURPRISE_REMOVE   2
 
#define USBPORT_INVALIDATE_CONTROLLER_SOFT_INTERRUPT   3
 
#define USB_MINIPORT_VERSION_OHCI   0x01
 
#define USB_MINIPORT_VERSION_UHCI   0x02
 
#define USB_MINIPORT_VERSION_EHCI   0x03
 
#define USB_MINIPORT_VERSION_XHCI   0x04
 
#define USB_MINIPORT_FLAGS_INTERRUPT   0x0001
 
#define USB_MINIPORT_FLAGS_PORT_IO   0x0002
 
#define USB_MINIPORT_FLAGS_MEMORY_IO   0x0004
 
#define USB_MINIPORT_FLAGS_USB2   0x0010
 
#define USB_MINIPORT_FLAGS_DISABLE_SS   0x0020
 
#define USB_MINIPORT_FLAGS_NOT_LOCK_INT   0x0040
 
#define USB_MINIPORT_FLAGS_POLLING   0x0080
 
#define USB_MINIPORT_FLAGS_NO_DMA   0x0100
 
#define USB_MINIPORT_FLAGS_WAKE_SUPPORT   0x0200
 
#define TOTAL_USB11_BUS_BANDWIDTH   12000
 
#define TOTAL_USB20_BUS_BANDWIDTH   400000
 
#define USB10_MINIPORT_INTERFACE_VERSION   100
 
#define USB20_MINIPORT_INTERFACE_VERSION   200
 
#define USBPORT_TRANSFER_DIRECTION_OUT   1
 
#define USBPORT_MAX_DEVICE_ADDRESS   127
 

Typedefs

typedef struct _USBPORT_RESOURCES USBPORT_RESOURCES
 
typedef struct _USBPORT_RESOURCESPUSBPORT_RESOURCES
 
typedef struct _USBPORT_ENDPOINT_PROPERTIES USBPORT_ENDPOINT_PROPERTIES
 
typedef struct _USBPORT_ENDPOINT_PROPERTIESPUSBPORT_ENDPOINT_PROPERTIES
 
typedef struct _USBPORT_TRANSFER_PARAMETERS USBPORT_TRANSFER_PARAMETERS
 
typedef struct _USBPORT_TRANSFER_PARAMETERSPUSBPORT_TRANSFER_PARAMETERS
 
typedef struct _USBPORT_SCATTER_GATHER_ELEMENT USBPORT_SCATTER_GATHER_ELEMENT
 
typedef struct _USBPORT_SCATTER_GATHER_ELEMENTPUSBPORT_SCATTER_GATHER_ELEMENT
 
typedef struct _USBPORT_SCATTER_GATHER_LIST USBPORT_SCATTER_GATHER_LIST
 
typedef struct _USBPORT_SCATTER_GATHER_LISTPUSBPORT_SCATTER_GATHER_LIST
 
typedef struct _USBPORT_ENDPOINT_REQUIREMENTS USBPORT_ENDPOINT_REQUIREMENTS
 
typedef struct _USBPORT_ENDPOINT_REQUIREMENTSPUSBPORT_ENDPOINT_REQUIREMENTS
 
typedef ULONG MPSTATUS
 
typedef ULONG RHSTATUS
 
typedef MPSTATUS(NTAPIPHCI_OPEN_ENDPOINT) (PVOID, PUSBPORT_ENDPOINT_PROPERTIES, PVOID)
 
typedef MPSTATUS(NTAPIPHCI_REOPEN_ENDPOINT) (PVOID, PUSBPORT_ENDPOINT_PROPERTIES, PVOID)
 
typedef VOID(NTAPIPHCI_QUERY_ENDPOINT_REQUIREMENTS) (PVOID, PUSBPORT_ENDPOINT_PROPERTIES, PUSBPORT_ENDPOINT_REQUIREMENTS)
 
typedef VOID(NTAPIPHCI_CLOSE_ENDPOINT) (PVOID, PVOID, BOOLEAN)
 
typedef MPSTATUS(NTAPIPHCI_START_CONTROLLER) (PVOID, PUSBPORT_RESOURCES)
 
typedef VOID(NTAPIPHCI_STOP_CONTROLLER) (PVOID, BOOLEAN)
 
typedef VOID(NTAPIPHCI_SUSPEND_CONTROLLER) (PVOID)
 
typedef MPSTATUS(NTAPIPHCI_RESUME_CONTROLLER) (PVOID)
 
typedef BOOLEAN(NTAPIPHCI_INTERRUPT_SERVICE) (PVOID)
 
typedef VOID(NTAPIPHCI_INTERRUPT_DPC) (PVOID, BOOLEAN)
 
typedef MPSTATUS(NTAPIPHCI_SUBMIT_TRANSFER) (PVOID, PVOID, PUSBPORT_TRANSFER_PARAMETERS, PVOID, PUSBPORT_SCATTER_GATHER_LIST)
 
typedef MPSTATUS(NTAPIPHCI_SUBMIT_ISO_TRANSFER) (PVOID, PVOID, PUSBPORT_TRANSFER_PARAMETERS, PVOID, PVOID)
 
typedef VOID(NTAPIPHCI_ABORT_TRANSFER) (PVOID, PVOID, PVOID, PULONG)
 
typedef ULONG(NTAPIPHCI_GET_ENDPOINT_STATE) (PVOID, PVOID)
 
typedef VOID(NTAPIPHCI_SET_ENDPOINT_STATE) (PVOID, PVOID, ULONG)
 
typedef VOID(NTAPIPHCI_POLL_ENDPOINT) (PVOID, PVOID)
 
typedef VOID(NTAPIPHCI_CHECK_CONTROLLER) (PVOID)
 
typedef ULONG(NTAPIPHCI_GET_32BIT_FRAME_NUMBER) (PVOID)
 
typedef VOID(NTAPIPHCI_INTERRUPT_NEXT_SOF) (PVOID)
 
typedef VOID(NTAPIPHCI_ENABLE_INTERRUPTS) (PVOID)
 
typedef VOID(NTAPIPHCI_DISABLE_INTERRUPTS) (PVOID)
 
typedef VOID(NTAPIPHCI_POLL_CONTROLLER) (PVOID)
 
typedef VOID(NTAPIPHCI_SET_ENDPOINT_DATA_TOGGLE) (PVOID, PVOID, ULONG)
 
typedef ULONG(NTAPIPHCI_GET_ENDPOINT_STATUS) (PVOID, PVOID)
 
typedef VOID(NTAPIPHCI_SET_ENDPOINT_STATUS) (PVOID, PVOID, ULONG)
 
typedef VOID(NTAPIPHCI_RESET_CONTROLLER) (PVOID)
 
typedef VOID(NTAPIPHCI_RH_GET_ROOT_HUB_DATA) (PVOID, PVOID)
 
typedef MPSTATUS(NTAPIPHCI_RH_GET_STATUS) (PVOID, PUSHORT)
 
typedef MPSTATUS(NTAPIPHCI_RH_GET_PORT_STATUS) (PVOID, USHORT, PUSB_PORT_STATUS_AND_CHANGE)
 
typedef MPSTATUS(NTAPIPHCI_RH_GET_HUB_STATUS) (PVOID, PUSB_HUB_STATUS_AND_CHANGE)
 
typedef MPSTATUS(NTAPIPHCI_RH_SET_FEATURE_PORT_RESET) (PVOID, USHORT)
 
typedef MPSTATUS(NTAPIPHCI_RH_SET_FEATURE_PORT_POWER) (PVOID, USHORT)
 
typedef MPSTATUS(NTAPIPHCI_RH_SET_FEATURE_PORT_ENABLE) (PVOID, USHORT)
 
typedef MPSTATUS(NTAPIPHCI_RH_SET_FEATURE_PORT_SUSPEND) (PVOID, USHORT)
 
typedef MPSTATUS(NTAPIPHCI_RH_CLEAR_FEATURE_PORT_ENABLE) (PVOID, USHORT)
 
typedef MPSTATUS(NTAPIPHCI_RH_CLEAR_FEATURE_PORT_POWER) (PVOID, USHORT)
 
typedef MPSTATUS(NTAPIPHCI_RH_CLEAR_FEATURE_PORT_SUSPEND) (PVOID, USHORT)
 
typedef MPSTATUS(NTAPIPHCI_RH_CLEAR_FEATURE_PORT_ENABLE_CHANGE) (PVOID, USHORT)
 
typedef MPSTATUS(NTAPIPHCI_RH_CLEAR_FEATURE_PORT_CONNECT_CHANGE) (PVOID, USHORT)
 
typedef MPSTATUS(NTAPIPHCI_RH_CLEAR_FEATURE_PORT_RESET_CHANGE) (PVOID, USHORT)
 
typedef MPSTATUS(NTAPIPHCI_RH_CLEAR_FEATURE_PORT_SUSPEND_CHANGE) (PVOID, USHORT)
 
typedef MPSTATUS(NTAPIPHCI_RH_CLEAR_FEATURE_PORT_OVERCURRENT_CHANGE) (PVOID, USHORT)
 
typedef VOID(NTAPIPHCI_RH_DISABLE_IRQ) (PVOID)
 
typedef VOID(NTAPIPHCI_RH_ENABLE_IRQ) (PVOID)
 
typedef MPSTATUS(NTAPIPHCI_START_SEND_ONE_PACKET) (PVOID, PVOID, PVOID, PULONG, PVOID, PVOID, ULONG, USBD_STATUS *)
 
typedef MPSTATUS(NTAPIPHCI_END_SEND_ONE_PACKET) (PVOID, PVOID, PVOID, PULONG, PVOID, PVOID, ULONG, USBD_STATUS *)
 
typedef MPSTATUS(NTAPIPHCI_PASS_THRU) (PVOID, PVOID, ULONG, PVOID)
 
typedef ULONG(NTAPIPUSBPORT_DBG_PRINT) (PVOID, ULONG, PCH,...)
 
typedef ULONG(NTAPIPUSBPORT_TEST_DEBUG_BREAK) (PVOID)
 
typedef ULONG(NTAPIPUSBPORT_ASSERT_FAILURE) (PVOID, PVOID, PVOID, ULONG, PCHAR)
 
typedef MPSTATUS(NTAPIPUSBPORT_GET_MINIPORT_REGISTRY_KEY_VALUE) (PVOID, BOOL, PCWSTR, SIZE_T, PVOID, SIZE_T)
 
typedef ULONG(NTAPIPUSBPORT_INVALIDATE_ROOT_HUB) (PVOID)
 
typedef ULONG(NTAPIPUSBPORT_INVALIDATE_ENDPOINT) (PVOID, PVOID)
 
typedef VOID(NTAPIPUSBPORT_COMPLETE_TRANSFER) (PVOID, PVOID, PVOID, USBD_STATUS, ULONG)
 
typedef ULONG(NTAPIPUSBPORT_COMPLETE_ISO_TRANSFER) (PVOID, PVOID, PVOID, ULONG)
 
typedef ULONG(NTAPIPUSBPORT_LOG_ENTRY) (PVOID, ULONG, ULONG, ULONG, ULONG, ULONG)
 
typedef PVOID(NTAPIPUSBPORT_GET_MAPPED_VIRTUAL_ADDRESS) (ULONG, PVOID, PVOID)
 
typedef IN PVOID CallBackContext
 
typedef ULONG(NTAPIPUSBPORT_REQUEST_ASYNC_CALLBACK) (PVOID, ULONG, PVOID, SIZE_T, ASYNC_TIMER_CALLBACK *)
 
typedef MPSTATUS(NTAPIPUSBPORT_READ_WRITE_CONFIG_SPACE) (PVOID, BOOLEAN, PVOID, ULONG, ULONG)
 
typedef NTSTATUS(NTAPIPUSBPORT_WAIT) (PVOID, ULONG)
 
typedef ULONG(NTAPIPUSBPORT_INVALIDATE_CONTROLLER) (PVOID, ULONG)
 
typedef VOID(NTAPIPUSBPORT_BUG_CHECK) (PVOID)
 
typedef ULONG(NTAPIPUSBPORT_NOTIFY_DOUBLE_BUFFER) (PVOID, PVOID, PVOID, SIZE_T)
 
typedef VOID(NTAPIPHCI_REBALANCE_ENDPOINT) (PVOID, PUSBPORT_ENDPOINT_PROPERTIES, PVOID)
 
typedef VOID(NTAPIPHCI_FLUSH_INTERRUPTS) (PVOID)
 
typedef MPSTATUS(NTAPIPHCI_RH_CHIRP_ROOT_PORT) (PVOID, USHORT)
 
typedef VOID(NTAPIPHCI_TAKE_PORT_CONTROL) (PVOID)
 
typedef struct _USBPORT_REGISTRATION_PACKET USBPORT_REGISTRATION_PACKET
 
typedef struct _USBPORT_REGISTRATION_PACKETPUSBPORT_REGISTRATION_PACKET
 
typedef struct _USBPORT_MINIPORT_INTERFACE USBPORT_MINIPORT_INTERFACE
 
typedef struct _USBPORT_MINIPORT_INTERFACEPUSBPORT_MINIPORT_INTERFACE
 
typedef union _USBPORT_HUB_11_CHARACTERISTICS USBPORT_HUB_11_CHARACTERISTICS
 
typedef union _USBPORT_HUB_20_CHARACTERISTICS USBPORT_HUB_20_CHARACTERISTICS
 
typedef USBPORT_HUB_11_CHARACTERISTICS USBPORT_HUB_30_CHARACTERISTICS
 
typedef union _USBPORT_HUB_CHARACTERISTICS USBPORT_HUB_CHARACTERISTICS
 
typedef struct _USBPORT_ROOT_HUB_DATA USBPORT_ROOT_HUB_DATA
 
typedef struct _USBPORT_ROOT_HUB_DATAPUSBPORT_ROOT_HUB_DATA
 

Functions

 C_ASSERT (sizeof(USBPORT_RESOURCES)==32+5 *sizeof(PVOID))
 
 C_ASSERT (sizeof(USBPORT_ENDPOINT_PROPERTIES)==56+2 *sizeof(PVOID))
 
 C_ASSERT (sizeof(USBPORT_TRANSFER_PARAMETERS)==28)
 
 C_ASSERT (sizeof(USBPORT_SCATTER_GATHER_ELEMENT)==24)
 
 C_ASSERT (sizeof(USBPORT_SCATTER_GATHER_LIST)==48+4 *sizeof(PVOID))
 
typedef VOID (NTAPI ASYNC_TIMER_CALLBACK)(IN PVOID MiniportExtension
 
 C_ASSERT (sizeof(USBPORT_MINIPORT_INTERFACE)==32+76 *sizeof(PVOID))
 
 C_ASSERT (sizeof(USBPORT_HUB_11_CHARACTERISTICS)==sizeof(USHORT))
 
 C_ASSERT (sizeof(USBPORT_HUB_20_CHARACTERISTICS)==sizeof(USHORT))
 
 C_ASSERT (sizeof(USBPORT_HUB_CHARACTERISTICS)==sizeof(USHORT))
 
 C_ASSERT (sizeof(USBPORT_ROOT_HUB_DATA)==16)
 
ULONG NTAPI USBPORT_GetHciMn (VOID)
 
NTSTATUS NTAPI USBPORT_RegisterUSBPortDriver (IN PDRIVER_OBJECT DriverObject, IN ULONG Version, IN PUSBPORT_REGISTRATION_PACKET RegistrationPacket)
 

Macro Definition Documentation

◆ ENDPOINT_INTERRUPT_16ms

#define ENDPOINT_INTERRUPT_16ms   16

Definition at line 29 of file usbmport.h.

◆ ENDPOINT_INTERRUPT_1ms

#define ENDPOINT_INTERRUPT_1ms   1

Definition at line 25 of file usbmport.h.

◆ ENDPOINT_INTERRUPT_2ms

#define ENDPOINT_INTERRUPT_2ms   2

Definition at line 26 of file usbmport.h.

◆ ENDPOINT_INTERRUPT_32ms

#define ENDPOINT_INTERRUPT_32ms   32

Definition at line 30 of file usbmport.h.

◆ ENDPOINT_INTERRUPT_4ms

#define ENDPOINT_INTERRUPT_4ms   4

Definition at line 27 of file usbmport.h.

◆ ENDPOINT_INTERRUPT_8ms

#define ENDPOINT_INTERRUPT_8ms   8

Definition at line 28 of file usbmport.h.

◆ INTERRUPT_ENDPOINTs

#define INTERRUPT_ENDPOINTs
Value:
ENDPOINT_INTERRUPT_16ms + \
ENDPOINT_INTERRUPT_8ms + \
ENDPOINT_INTERRUPT_4ms + \
ENDPOINT_INTERRUPT_2ms + \
ENDPOINT_INTERRUPT_1ms)
#define ENDPOINT_INTERRUPT_32ms
Definition: usbmport.h:30

Definition at line 32 of file usbmport.h.

◆ MP_STATUS_ERROR

#define MP_STATUS_ERROR   4

Definition at line 138 of file usbmport.h.

◆ MP_STATUS_FAILURE

#define MP_STATUS_FAILURE   1

Definition at line 135 of file usbmport.h.

◆ MP_STATUS_HW_ERROR

#define MP_STATUS_HW_ERROR   7

Definition at line 141 of file usbmport.h.

◆ MP_STATUS_NO_BANDWIDTH

#define MP_STATUS_NO_BANDWIDTH   3

Definition at line 137 of file usbmport.h.

◆ MP_STATUS_NO_RESOURCES

#define MP_STATUS_NO_RESOURCES   2

Definition at line 136 of file usbmport.h.

◆ MP_STATUS_NOT_SUPPORTED

#define MP_STATUS_NOT_SUPPORTED   6

Definition at line 140 of file usbmport.h.

◆ MP_STATUS_RESERVED1

#define MP_STATUS_RESERVED1   5

Definition at line 139 of file usbmport.h.

◆ MP_STATUS_SUCCESS

#define MP_STATUS_SUCCESS   0

Definition at line 134 of file usbmport.h.

◆ MP_STATUS_UNSUCCESSFUL

#define MP_STATUS_UNSUCCESSFUL   8

Definition at line 142 of file usbmport.h.

◆ RH_STATUS_NO_CHANGES

#define RH_STATUS_NO_CHANGES   1

Definition at line 145 of file usbmport.h.

◆ RH_STATUS_SUCCESS

#define RH_STATUS_SUCCESS   0

Definition at line 144 of file usbmport.h.

◆ RH_STATUS_UNSUCCESSFUL

#define RH_STATUS_UNSUCCESSFUL   2

Definition at line 146 of file usbmport.h.

◆ TOTAL_USB11_BUS_BANDWIDTH

#define TOTAL_USB11_BUS_BANDWIDTH   12000

Definition at line 541 of file usbmport.h.

◆ TOTAL_USB20_BUS_BANDWIDTH

#define TOTAL_USB20_BUS_BANDWIDTH   400000

Definition at line 542 of file usbmport.h.

◆ USB10_MINIPORT_INTERFACE_VERSION

#define USB10_MINIPORT_INTERFACE_VERSION   100

Definition at line 636 of file usbmport.h.

◆ USB20_MINIPORT_INTERFACE_VERSION

#define USB20_MINIPORT_INTERFACE_VERSION   200

Definition at line 637 of file usbmport.h.

◆ USB20_PORT_STATUS_RESERVED1_OWNED_BY_COMPANION

#define USB20_PORT_STATUS_RESERVED1_OWNED_BY_COMPANION   (1 << 2)

Definition at line 288 of file usbmport.h.

◆ USB_MINIPORT_FLAGS_DISABLE_SS

#define USB_MINIPORT_FLAGS_DISABLE_SS   0x0020

Definition at line 535 of file usbmport.h.

◆ USB_MINIPORT_FLAGS_INTERRUPT

#define USB_MINIPORT_FLAGS_INTERRUPT   0x0001

Definition at line 531 of file usbmport.h.

◆ USB_MINIPORT_FLAGS_MEMORY_IO

#define USB_MINIPORT_FLAGS_MEMORY_IO   0x0004

Definition at line 533 of file usbmport.h.

◆ USB_MINIPORT_FLAGS_NO_DMA

#define USB_MINIPORT_FLAGS_NO_DMA   0x0100

Definition at line 538 of file usbmport.h.

◆ USB_MINIPORT_FLAGS_NOT_LOCK_INT

#define USB_MINIPORT_FLAGS_NOT_LOCK_INT   0x0040

Definition at line 536 of file usbmport.h.

◆ USB_MINIPORT_FLAGS_POLLING

#define USB_MINIPORT_FLAGS_POLLING   0x0080

Definition at line 537 of file usbmport.h.

◆ USB_MINIPORT_FLAGS_PORT_IO

#define USB_MINIPORT_FLAGS_PORT_IO   0x0002

Definition at line 532 of file usbmport.h.

◆ USB_MINIPORT_FLAGS_USB2

#define USB_MINIPORT_FLAGS_USB2   0x0010

Definition at line 534 of file usbmport.h.

◆ USB_MINIPORT_FLAGS_WAKE_SUPPORT

#define USB_MINIPORT_FLAGS_WAKE_SUPPORT   0x0200

Definition at line 539 of file usbmport.h.

◆ USB_MINIPORT_VERSION_EHCI

#define USB_MINIPORT_VERSION_EHCI   0x03

Definition at line 528 of file usbmport.h.

◆ USB_MINIPORT_VERSION_OHCI

#define USB_MINIPORT_VERSION_OHCI   0x01

Definition at line 526 of file usbmport.h.

◆ USB_MINIPORT_VERSION_UHCI

#define USB_MINIPORT_VERSION_UHCI   0x02

Definition at line 527 of file usbmport.h.

◆ USB_MINIPORT_VERSION_XHCI

#define USB_MINIPORT_VERSION_XHCI   0x04

Definition at line 529 of file usbmport.h.

◆ USBC_DEVICE_CLASS_TYPE_C_BRIDGE

#define USBC_DEVICE_CLASS_TYPE_C_BRIDGE   0x12

Definition at line 149 of file usbmport.h.

◆ USBPORT_ENDPOINT_ACTIVE

#define USBPORT_ENDPOINT_ACTIVE   3

Definition at line 15 of file usbmport.h.

◆ USBPORT_ENDPOINT_CLOSED

#define USBPORT_ENDPOINT_CLOSED   5

Definition at line 17 of file usbmport.h.

◆ USBPORT_ENDPOINT_CONTROL

#define USBPORT_ENDPOINT_CONTROL   4

Definition at line 22 of file usbmport.h.

◆ USBPORT_ENDPOINT_HALT

#define USBPORT_ENDPOINT_HALT   1

Definition at line 21 of file usbmport.h.

◆ USBPORT_ENDPOINT_PAUSED

#define USBPORT_ENDPOINT_PAUSED   2

Definition at line 14 of file usbmport.h.

◆ USBPORT_ENDPOINT_REMOVE

#define USBPORT_ENDPOINT_REMOVE   4

Definition at line 16 of file usbmport.h.

◆ USBPORT_ENDPOINT_RUN

#define USBPORT_ENDPOINT_RUN   0

Definition at line 20 of file usbmport.h.

◆ USBPORT_ENDPOINT_UNKNOWN

#define USBPORT_ENDPOINT_UNKNOWN   0

Definition at line 13 of file usbmport.h.

◆ USBPORT_HCI_MN

#define USBPORT_HCI_MN   0x10000001

Definition at line 4 of file usbmport.h.

◆ USBPORT_INVALIDATE_CONTROLLER_RESET

#define USBPORT_INVALIDATE_CONTROLLER_RESET   1

Definition at line 489 of file usbmport.h.

◆ USBPORT_INVALIDATE_CONTROLLER_SOFT_INTERRUPT

#define USBPORT_INVALIDATE_CONTROLLER_SOFT_INTERRUPT   3

Definition at line 491 of file usbmport.h.

◆ USBPORT_INVALIDATE_CONTROLLER_SURPRISE_REMOVE

#define USBPORT_INVALIDATE_CONTROLLER_SURPRISE_REMOVE   2

Definition at line 490 of file usbmport.h.

◆ USBPORT_MAX_DEVICE_ADDRESS

#define USBPORT_MAX_DEVICE_ADDRESS   127

Definition at line 650 of file usbmport.h.

◆ USBPORT_RESOURCES_INTERRUPT

#define USBPORT_RESOURCES_INTERRUPT   2

Definition at line 41 of file usbmport.h.

◆ USBPORT_RESOURCES_MEMORY

#define USBPORT_RESOURCES_MEMORY   4

Definition at line 42 of file usbmport.h.

◆ USBPORT_RESOURCES_PORT

#define USBPORT_RESOURCES_PORT   1

Definition at line 40 of file usbmport.h.

◆ USBPORT_TRANSFER_DIRECTION_OUT

#define USBPORT_TRANSFER_DIRECTION_OUT   1

Definition at line 649 of file usbmport.h.

◆ USBPORT_TRANSFER_TYPE_BULK

#define USBPORT_TRANSFER_TYPE_BULK   2

Definition at line 9 of file usbmport.h.

◆ USBPORT_TRANSFER_TYPE_CONTROL

#define USBPORT_TRANSFER_TYPE_CONTROL   1

Definition at line 8 of file usbmport.h.

◆ USBPORT_TRANSFER_TYPE_INTERRUPT

#define USBPORT_TRANSFER_TYPE_INTERRUPT   3

Definition at line 10 of file usbmport.h.

◆ USBPORT_TRANSFER_TYPE_ISOCHRONOUS

#define USBPORT_TRANSFER_TYPE_ISOCHRONOUS   0

Definition at line 7 of file usbmport.h.

Typedef Documentation

◆ CallBackContext

Definition at line 466 of file usbmport.h.

◆ MPSTATUS

typedef ULONG MPSTATUS

Definition at line 131 of file usbmport.h.

◆ PHCI_ABORT_TRANSFER

typedef VOID(NTAPI * PHCI_ABORT_TRANSFER) (PVOID, PVOID, PVOID, PULONG)

Definition at line 217 of file usbmport.h.

◆ PHCI_CHECK_CONTROLLER

typedef VOID(NTAPI * PHCI_CHECK_CONTROLLER) (PVOID)

Definition at line 240 of file usbmport.h.

◆ PHCI_CLOSE_ENDPOINT

typedef VOID(NTAPI * PHCI_CLOSE_ENDPOINT) (PVOID, PVOID, BOOLEAN)

Definition at line 171 of file usbmport.h.

◆ PHCI_DISABLE_INTERRUPTS

typedef VOID(NTAPI * PHCI_DISABLE_INTERRUPTS) (PVOID)

Definition at line 252 of file usbmport.h.

◆ PHCI_ENABLE_INTERRUPTS

typedef VOID(NTAPI * PHCI_ENABLE_INTERRUPTS) (PVOID)

Definition at line 249 of file usbmport.h.

◆ PHCI_END_SEND_ONE_PACKET

typedef MPSTATUS(NTAPI * PHCI_END_SEND_ONE_PACKET) (PVOID, PVOID, PVOID, PULONG, PVOID, PVOID, ULONG, USBD_STATUS *)

Definition at line 380 of file usbmport.h.

◆ PHCI_FLUSH_INTERRUPTS

typedef VOID(NTAPI * PHCI_FLUSH_INTERRUPTS) (PVOID)

Definition at line 516 of file usbmport.h.

◆ PHCI_GET_32BIT_FRAME_NUMBER

typedef ULONG(NTAPI * PHCI_GET_32BIT_FRAME_NUMBER) (PVOID)

Definition at line 243 of file usbmport.h.

◆ PHCI_GET_ENDPOINT_STATE

typedef ULONG(NTAPI * PHCI_GET_ENDPOINT_STATE) (PVOID, PVOID)

Definition at line 224 of file usbmport.h.

◆ PHCI_GET_ENDPOINT_STATUS

typedef ULONG(NTAPI * PHCI_GET_ENDPOINT_STATUS) (PVOID, PVOID)

Definition at line 264 of file usbmport.h.

◆ PHCI_INTERRUPT_DPC

typedef VOID(NTAPI * PHCI_INTERRUPT_DPC) (PVOID, BOOLEAN)

Definition at line 196 of file usbmport.h.

◆ PHCI_INTERRUPT_NEXT_SOF

typedef VOID(NTAPI * PHCI_INTERRUPT_NEXT_SOF) (PVOID)

Definition at line 246 of file usbmport.h.

◆ PHCI_INTERRUPT_SERVICE

typedef BOOLEAN(NTAPI * PHCI_INTERRUPT_SERVICE) (PVOID)

Definition at line 193 of file usbmport.h.

◆ PHCI_OPEN_ENDPOINT

typedef MPSTATUS(NTAPI * PHCI_OPEN_ENDPOINT) (PVOID, PUSBPORT_ENDPOINT_PROPERTIES, PVOID)

Definition at line 153 of file usbmport.h.

◆ PHCI_PASS_THRU

typedef MPSTATUS(NTAPI * PHCI_PASS_THRU) (PVOID, PVOID, ULONG, PVOID)

Definition at line 391 of file usbmport.h.

◆ PHCI_POLL_CONTROLLER

typedef VOID(NTAPI * PHCI_POLL_CONTROLLER) (PVOID)

Definition at line 255 of file usbmport.h.

◆ PHCI_POLL_ENDPOINT

typedef VOID(NTAPI * PHCI_POLL_ENDPOINT) (PVOID, PVOID)

Definition at line 235 of file usbmport.h.

◆ PHCI_QUERY_ENDPOINT_REQUIREMENTS

typedef VOID(NTAPI * PHCI_QUERY_ENDPOINT_REQUIREMENTS) (PVOID, PUSBPORT_ENDPOINT_PROPERTIES, PUSBPORT_ENDPOINT_REQUIREMENTS)

Definition at line 165 of file usbmport.h.

◆ PHCI_REBALANCE_ENDPOINT

typedef VOID(NTAPI * PHCI_REBALANCE_ENDPOINT) (PVOID, PUSBPORT_ENDPOINT_PROPERTIES, PVOID)

Definition at line 510 of file usbmport.h.

◆ PHCI_REOPEN_ENDPOINT

typedef MPSTATUS(NTAPI * PHCI_REOPEN_ENDPOINT) (PVOID, PUSBPORT_ENDPOINT_PROPERTIES, PVOID)

Definition at line 159 of file usbmport.h.

◆ PHCI_RESET_CONTROLLER

typedef VOID(NTAPI * PHCI_RESET_CONTROLLER) (PVOID)

Definition at line 275 of file usbmport.h.

◆ PHCI_RESUME_CONTROLLER

typedef MPSTATUS(NTAPI * PHCI_RESUME_CONTROLLER) (PVOID)

Definition at line 190 of file usbmport.h.

◆ PHCI_RH_CHIRP_ROOT_PORT

typedef MPSTATUS(NTAPI * PHCI_RH_CHIRP_ROOT_PORT) (PVOID, USHORT)

Definition at line 519 of file usbmport.h.

◆ PHCI_RH_CLEAR_FEATURE_PORT_CONNECT_CHANGE

typedef MPSTATUS(NTAPI * PHCI_RH_CLEAR_FEATURE_PORT_CONNECT_CHANGE) (PVOID, USHORT)

Definition at line 342 of file usbmport.h.

◆ PHCI_RH_CLEAR_FEATURE_PORT_ENABLE

typedef MPSTATUS(NTAPI * PHCI_RH_CLEAR_FEATURE_PORT_ENABLE) (PVOID, USHORT)

Definition at line 322 of file usbmport.h.

◆ PHCI_RH_CLEAR_FEATURE_PORT_ENABLE_CHANGE

typedef MPSTATUS(NTAPI * PHCI_RH_CLEAR_FEATURE_PORT_ENABLE_CHANGE) (PVOID, USHORT)

Definition at line 337 of file usbmport.h.

◆ PHCI_RH_CLEAR_FEATURE_PORT_OVERCURRENT_CHANGE

typedef MPSTATUS(NTAPI * PHCI_RH_CLEAR_FEATURE_PORT_OVERCURRENT_CHANGE) (PVOID, USHORT)

Definition at line 357 of file usbmport.h.

◆ PHCI_RH_CLEAR_FEATURE_PORT_POWER

typedef MPSTATUS(NTAPI * PHCI_RH_CLEAR_FEATURE_PORT_POWER) (PVOID, USHORT)

Definition at line 327 of file usbmport.h.

◆ PHCI_RH_CLEAR_FEATURE_PORT_RESET_CHANGE

typedef MPSTATUS(NTAPI * PHCI_RH_CLEAR_FEATURE_PORT_RESET_CHANGE) (PVOID, USHORT)

Definition at line 347 of file usbmport.h.

◆ PHCI_RH_CLEAR_FEATURE_PORT_SUSPEND

typedef MPSTATUS(NTAPI * PHCI_RH_CLEAR_FEATURE_PORT_SUSPEND) (PVOID, USHORT)

Definition at line 332 of file usbmport.h.

◆ PHCI_RH_CLEAR_FEATURE_PORT_SUSPEND_CHANGE

typedef MPSTATUS(NTAPI * PHCI_RH_CLEAR_FEATURE_PORT_SUSPEND_CHANGE) (PVOID, USHORT)

Definition at line 352 of file usbmport.h.

◆ PHCI_RH_DISABLE_IRQ

typedef VOID(NTAPI * PHCI_RH_DISABLE_IRQ) (PVOID)

Definition at line 362 of file usbmport.h.

◆ PHCI_RH_ENABLE_IRQ

typedef VOID(NTAPI * PHCI_RH_ENABLE_IRQ) (PVOID)

Definition at line 365 of file usbmport.h.

◆ PHCI_RH_GET_HUB_STATUS

typedef MPSTATUS(NTAPI * PHCI_RH_GET_HUB_STATUS) (PVOID, PUSB_HUB_STATUS_AND_CHANGE)

Definition at line 297 of file usbmport.h.

◆ PHCI_RH_GET_PORT_STATUS

typedef MPSTATUS(NTAPI * PHCI_RH_GET_PORT_STATUS) (PVOID, USHORT, PUSB_PORT_STATUS_AND_CHANGE)

Definition at line 291 of file usbmport.h.

◆ PHCI_RH_GET_ROOT_HUB_DATA

typedef VOID(NTAPI * PHCI_RH_GET_ROOT_HUB_DATA) (PVOID, PVOID)

Definition at line 279 of file usbmport.h.

◆ PHCI_RH_GET_STATUS

typedef MPSTATUS(NTAPI * PHCI_RH_GET_STATUS) (PVOID, PUSHORT)

Definition at line 284 of file usbmport.h.

◆ PHCI_RH_SET_FEATURE_PORT_ENABLE

typedef MPSTATUS(NTAPI * PHCI_RH_SET_FEATURE_PORT_ENABLE) (PVOID, USHORT)

Definition at line 312 of file usbmport.h.

◆ PHCI_RH_SET_FEATURE_PORT_POWER

typedef MPSTATUS(NTAPI * PHCI_RH_SET_FEATURE_PORT_POWER) (PVOID, USHORT)

Definition at line 307 of file usbmport.h.

◆ PHCI_RH_SET_FEATURE_PORT_RESET

typedef MPSTATUS(NTAPI * PHCI_RH_SET_FEATURE_PORT_RESET) (PVOID, USHORT)

Definition at line 302 of file usbmport.h.

◆ PHCI_RH_SET_FEATURE_PORT_SUSPEND

typedef MPSTATUS(NTAPI * PHCI_RH_SET_FEATURE_PORT_SUSPEND) (PVOID, USHORT)

Definition at line 317 of file usbmport.h.

◆ PHCI_SET_ENDPOINT_DATA_TOGGLE

typedef VOID(NTAPI * PHCI_SET_ENDPOINT_DATA_TOGGLE) (PVOID, PVOID, ULONG)

Definition at line 258 of file usbmport.h.

◆ PHCI_SET_ENDPOINT_STATE

typedef VOID(NTAPI * PHCI_SET_ENDPOINT_STATE) (PVOID, PVOID, ULONG)

Definition at line 229 of file usbmport.h.

◆ PHCI_SET_ENDPOINT_STATUS

typedef VOID(NTAPI * PHCI_SET_ENDPOINT_STATUS) (PVOID, PVOID, ULONG)

Definition at line 269 of file usbmport.h.

◆ PHCI_START_CONTROLLER

typedef MPSTATUS(NTAPI * PHCI_START_CONTROLLER) (PVOID, PUSBPORT_RESOURCES)

Definition at line 177 of file usbmport.h.

◆ PHCI_START_SEND_ONE_PACKET

typedef MPSTATUS(NTAPI * PHCI_START_SEND_ONE_PACKET) (PVOID, PVOID, PVOID, PULONG, PVOID, PVOID, ULONG, USBD_STATUS *)

Definition at line 369 of file usbmport.h.

◆ PHCI_STOP_CONTROLLER

typedef VOID(NTAPI * PHCI_STOP_CONTROLLER) (PVOID, BOOLEAN)

Definition at line 182 of file usbmport.h.

◆ PHCI_SUBMIT_ISO_TRANSFER

typedef MPSTATUS(NTAPI * PHCI_SUBMIT_ISO_TRANSFER) (PVOID, PVOID, PUSBPORT_TRANSFER_PARAMETERS, PVOID, PVOID)

Definition at line 209 of file usbmport.h.

◆ PHCI_SUBMIT_TRANSFER

Definition at line 201 of file usbmport.h.

◆ PHCI_SUSPEND_CONTROLLER

typedef VOID(NTAPI * PHCI_SUSPEND_CONTROLLER) (PVOID)

Definition at line 187 of file usbmport.h.

◆ PHCI_TAKE_PORT_CONTROL

typedef VOID(NTAPI * PHCI_TAKE_PORT_CONTROL) (PVOID)

Definition at line 524 of file usbmport.h.

◆ PUSBPORT_ASSERT_FAILURE

typedef ULONG(NTAPI * PUSBPORT_ASSERT_FAILURE) (PVOID, PVOID, PVOID, ULONG, PCHAR)

Definition at line 409 of file usbmport.h.

◆ PUSBPORT_BUG_CHECK

typedef VOID(NTAPI * PUSBPORT_BUG_CHECK) (PVOID)

Definition at line 499 of file usbmport.h.

◆ PUSBPORT_COMPLETE_ISO_TRANSFER

typedef ULONG(NTAPI * PUSBPORT_COMPLETE_ISO_TRANSFER) (PVOID, PVOID, PVOID, ULONG)

Definition at line 442 of file usbmport.h.

◆ PUSBPORT_COMPLETE_TRANSFER

typedef VOID(NTAPI * PUSBPORT_COMPLETE_TRANSFER) (PVOID, PVOID, PVOID, USBD_STATUS, ULONG)

Definition at line 434 of file usbmport.h.

◆ PUSBPORT_DBG_PRINT

typedef ULONG(NTAPI * PUSBPORT_DBG_PRINT) (PVOID, ULONG, PCH,...)

Definition at line 399 of file usbmport.h.

◆ PUSBPORT_ENDPOINT_PROPERTIES

◆ PUSBPORT_ENDPOINT_REQUIREMENTS

◆ PUSBPORT_GET_MAPPED_VIRTUAL_ADDRESS

typedef PVOID(NTAPI * PUSBPORT_GET_MAPPED_VIRTUAL_ADDRESS) (ULONG, PVOID, PVOID)

Definition at line 458 of file usbmport.h.

◆ PUSBPORT_GET_MINIPORT_REGISTRY_KEY_VALUE

typedef MPSTATUS(NTAPI * PUSBPORT_GET_MINIPORT_REGISTRY_KEY_VALUE) (PVOID, BOOL, PCWSTR, SIZE_T, PVOID, SIZE_T)

Definition at line 417 of file usbmport.h.

◆ PUSBPORT_INVALIDATE_CONTROLLER

typedef ULONG(NTAPI * PUSBPORT_INVALIDATE_CONTROLLER) (PVOID, ULONG)

Definition at line 494 of file usbmport.h.

◆ PUSBPORT_INVALIDATE_ENDPOINT

typedef ULONG(NTAPI * PUSBPORT_INVALIDATE_ENDPOINT) (PVOID, PVOID)

Definition at line 429 of file usbmport.h.

◆ PUSBPORT_INVALIDATE_ROOT_HUB

typedef ULONG(NTAPI * PUSBPORT_INVALIDATE_ROOT_HUB) (PVOID)

Definition at line 426 of file usbmport.h.

◆ PUSBPORT_LOG_ENTRY

typedef ULONG(NTAPI * PUSBPORT_LOG_ENTRY) (PVOID, ULONG, ULONG, ULONG, ULONG, ULONG)

Definition at line 449 of file usbmport.h.

◆ PUSBPORT_MINIPORT_INTERFACE

◆ PUSBPORT_NOTIFY_DOUBLE_BUFFER

typedef ULONG(NTAPI * PUSBPORT_NOTIFY_DOUBLE_BUFFER) (PVOID, PVOID, PVOID, SIZE_T)

Definition at line 502 of file usbmport.h.

◆ PUSBPORT_READ_WRITE_CONFIG_SPACE

typedef MPSTATUS(NTAPI * PUSBPORT_READ_WRITE_CONFIG_SPACE) (PVOID, BOOLEAN, PVOID, ULONG, ULONG)

Definition at line 477 of file usbmport.h.

◆ PUSBPORT_REGISTRATION_PACKET

◆ PUSBPORT_REQUEST_ASYNC_CALLBACK

typedef ULONG(NTAPI * PUSBPORT_REQUEST_ASYNC_CALLBACK) (PVOID, ULONG, PVOID, SIZE_T, ASYNC_TIMER_CALLBACK *)

Definition at line 469 of file usbmport.h.

◆ PUSBPORT_RESOURCES

◆ PUSBPORT_ROOT_HUB_DATA

◆ PUSBPORT_SCATTER_GATHER_ELEMENT

◆ PUSBPORT_SCATTER_GATHER_LIST

◆ PUSBPORT_TEST_DEBUG_BREAK

typedef ULONG(NTAPI * PUSBPORT_TEST_DEBUG_BREAK) (PVOID)

Definition at line 406 of file usbmport.h.

◆ PUSBPORT_TRANSFER_PARAMETERS

◆ PUSBPORT_WAIT

typedef NTSTATUS(NTAPI * PUSBPORT_WAIT) (PVOID, ULONG)

Definition at line 485 of file usbmport.h.

◆ RHSTATUS

typedef ULONG RHSTATUS

Definition at line 132 of file usbmport.h.

◆ USBPORT_ENDPOINT_PROPERTIES

◆ USBPORT_ENDPOINT_REQUIREMENTS

◆ USBPORT_HUB_11_CHARACTERISTICS

◆ USBPORT_HUB_20_CHARACTERISTICS

◆ USBPORT_HUB_30_CHARACTERISTICS

◆ USBPORT_HUB_CHARACTERISTICS

◆ USBPORT_MINIPORT_INTERFACE

◆ USBPORT_REGISTRATION_PACKET

◆ USBPORT_RESOURCES

◆ USBPORT_ROOT_HUB_DATA

◆ USBPORT_SCATTER_GATHER_ELEMENT

◆ USBPORT_SCATTER_GATHER_LIST

◆ USBPORT_TRANSFER_PARAMETERS

Function Documentation

◆ C_ASSERT() [1/10]

C_ASSERT ( sizeof(USBPORT_RESOURCES = =32+5 *sizeof(PVOID))

◆ C_ASSERT() [2/10]

C_ASSERT ( sizeof(USBPORT_ENDPOINT_PROPERTIES = =56+2 *sizeof(PVOID))

◆ C_ASSERT() [3/10]

C_ASSERT ( sizeof(USBPORT_TRANSFER_PARAMETERS = =28)

◆ C_ASSERT() [4/10]

C_ASSERT ( sizeof(USBPORT_SCATTER_GATHER_ELEMENT = =24)

◆ C_ASSERT() [5/10]

C_ASSERT ( sizeof(USBPORT_SCATTER_GATHER_LIST = =48+4 *sizeof(PVOID))

◆ C_ASSERT() [6/10]

C_ASSERT ( sizeof(USBPORT_MINIPORT_INTERFACE = =32+76 *sizeof(PVOID))

◆ C_ASSERT() [7/10]

◆ C_ASSERT() [8/10]

◆ C_ASSERT() [9/10]

◆ C_ASSERT() [10/10]

C_ASSERT ( sizeof(USBPORT_ROOT_HUB_DATA = =16)

◆ USBPORT_GetHciMn()

ULONG NTAPI USBPORT_GetHciMn ( VOID  )

Definition at line 2782 of file usbport.c.

2783 {
2784  return USBPORT_HCI_MN;
2785 }
#define USBPORT_HCI_MN
Definition: usbmport.h:4

Referenced by DriverEntry().

◆ USBPORT_RegisterUSBPortDriver()

NTSTATUS NTAPI USBPORT_RegisterUSBPortDriver ( IN PDRIVER_OBJECT  DriverObject,
IN ULONG  Version,
IN PUSBPORT_REGISTRATION_PACKET  RegistrationPacket 
)

Definition at line 2789 of file usbport.c.

2792 {
2793  PUSBPORT_MINIPORT_INTERFACE MiniPortInterface;
2794 
2795  DPRINT("USBPORT_RegisterUSBPortDriver: DriverObject - %p, Version - %p, RegPacket - %p\n",
2796  DriverObject,
2797  Version,
2798  RegPacket);
2799 
2800  DPRINT("USBPORT_RegisterUSBPortDriver: sizeof(USBPORT_MINIPORT_INTERFACE) - %x\n",
2801  sizeof(USBPORT_MINIPORT_INTERFACE));
2802 
2803  DPRINT("USBPORT_RegisterUSBPortDriver: sizeof(USBPORT_DEVICE_EXTENSION) - %x\n",
2804  sizeof(USBPORT_DEVICE_EXTENSION));
2805 
2807  {
2808  return STATUS_UNSUCCESSFUL;
2809  }
2810 
2811  if (!USBPORT_Initialized)
2812  {
2816 
2819  }
2820 
2821  MiniPortInterface = ExAllocatePoolWithTag(NonPagedPool,
2823  USB_PORT_TAG);
2824  if (!MiniPortInterface)
2825  {
2827  }
2828 
2829  RtlZeroMemory(MiniPortInterface, sizeof(USBPORT_MINIPORT_INTERFACE));
2830 
2831  MiniPortInterface->DriverObject = DriverObject;
2832  MiniPortInterface->DriverUnload = DriverObject->DriverUnload;
2833  MiniPortInterface->Version = Version;
2834 
2836  &MiniPortInterface->DriverLink,
2837  &USBPORT_SpinLock);
2838 
2841 
2849 
2866 
2867  RtlCopyMemory(&MiniPortInterface->Packet,
2868  RegPacket,
2869  sizeof(USBPORT_REGISTRATION_PACKET));
2870 
2871  return STATUS_SUCCESS;
2872 }
#define TRUE
Definition: types.h:120
NTSYSAPI VOID NTAPI RtlCopyMemory(VOID UNALIGNED *Destination, CONST VOID UNALIGNED *Source, ULONG Length)
#define IRP_MJ_CREATE
Definition: rdpdr.c:44
IN PVOID IN PVOID IN USHORT Version
Definition: pci.h:359
#define STATUS_INSUFFICIENT_RESOURCES
Definition: udferr_usr.h:158
USBPORT_REGISTRATION_PACKET RegPacket
Definition: usbehci.c:16
PUSBPORT_TEST_DEBUG_BREAK UsbPortTestDebugBreak
Definition: usbmport.h:611
PUSBPORT_GET_MAPPED_VIRTUAL_ADDRESS UsbPortGetMappedVirtualAddress
Definition: usbmport.h:619
PUSBPORT_ASSERT_FAILURE UsbPortAssertFailure
Definition: usbmport.h:612
PUSBPORT_COMPLETE_ISO_TRANSFER UsbPortCompleteIsoTransfer
Definition: usbmport.h:617
PUSBPORT_INVALIDATE_ENDPOINT UsbPortInvalidateEndpoint
Definition: usbmport.h:615
LIST_ENTRY USBPORT_USB1FdoList
Definition: usbport.c:19
PLIST_ENTRY NTAPI ExInterlockedInsertTailList(IN OUT PLIST_ENTRY ListHead, IN OUT PLIST_ENTRY ListEntry, IN OUT PKSPIN_LOCK Lock)
Definition: interlocked.c:140
#define IRP_MJ_PNP
Definition: cdrw_usr.h:52
VOID NTAPI USBPORT_Unload(IN PDRIVER_OBJECT DriverObject)
Definition: usbport.c:1948
PUSBPORT_COMPLETE_TRANSFER UsbPortCompleteTransfer
Definition: usbmport.h:616
USBPORT_REGISTRATION_PACKET Packet
Definition: usbmport.h:644
PDRIVER_OBJECT DriverObject
Definition: usbmport.h:640
ULONG NTAPI USBPORT_CompleteIsoTransfer(IN PVOID MiniPortExtension, IN PVOID MiniPortEndpoint, IN PVOID TransferParameters, IN ULONG TransferLength)
Definition: iso.c:25
PDRIVER_UNLOAD DriverUnload
Definition: usbmport.h:642
ULONG NTAPI USBPORT_TestDebugBreak(IN PVOID MiniPortExtension)
Definition: debug.c:31
PUSBPORT_NOTIFY_DOUBLE_BUFFER UsbPortNotifyDoubleBuffer
Definition: usbmport.h:625
MPSTATUS NTAPI USBPORT_ReadWriteConfigSpace(IN PVOID MiniPortExtension, IN BOOLEAN IsReadData, IN PVOID Buffer, IN ULONG Offset, IN ULONG Length)
Definition: usbport.c:456
LIST_ENTRY USBPORT_USB2FdoList
Definition: usbport.c:20
PUSBPORT_READ_WRITE_CONFIG_SPACE UsbPortReadWriteConfigSpace
Definition: usbmport.h:621
BOOLEAN USBPORT_Initialized
Definition: usbport.c:23
#define USB_PORT_TAG
Definition: usbport.h:44
NTSTATUS NTAPI USBPORT_Wait(IN PVOID MiniPortExtension, IN ULONG Milliseconds)
Definition: usbport.c:543
PUSBPORT_DBG_PRINT UsbPortDbgPrint
Definition: usbmport.h:610
PUSBPORT_LOG_ENTRY UsbPortLogEntry
Definition: usbmport.h:618
PDRIVER_EXTENSION DriverExtension
Definition: iotypes.h:2174
PUSBPORT_REQUEST_ASYNC_CALLBACK UsbPortRequestAsyncCallback
Definition: usbmport.h:620
FORCEINLINE VOID KeInitializeSpinLock(_Out_ PKSPIN_LOCK SpinLock)
Definition: kefuncs.h:251
static PDRIVER_OBJECT DriverObject
Definition: template.c:42
void DPRINT(...)
Definition: polytest.cpp:61
ULONG NTAPI USBPORT_InvalidateRootHub(PVOID MiniPortExtension)
Definition: roothub.c:917
PVOID NTAPI USBPORT_GetMappedVirtualAddress(IN ULONG PhysicalAddress, IN PVOID MiniPortExtension, IN PVOID MiniPortEndpoint)
Definition: usbport.c:2113
PUSBPORT_INVALIDATE_ROOT_HUB UsbPortInvalidateRootHub
Definition: usbmport.h:614
VOID NTAPI USBPORT_MiniportCompleteTransfer(IN PVOID MiniPortExtension, IN PVOID MiniPortEndpoint, IN PVOID TransferParameters, IN USBD_STATUS USBDStatus, IN ULONG TransferLength)
Definition: usbport.c:1968
ULONG NTAPI USBPORT_RequestAsyncCallback(IN PVOID MiniPortExtension, IN ULONG TimerValue, IN PVOID Buffer, IN SIZE_T Length, IN ASYNC_TIMER_CALLBACK *Callback)
Definition: usbport.c:2057
ULONG NTAPI USBPORT_NotifyDoubleBuffer(IN PVOID MiniPortExtension, IN PVOID MiniPortTransfer, IN PVOID Buffer, IN SIZE_T Length)
Definition: usbport.c:690
NTSTATUS NTAPI USBPORT_Dispatch(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: usbport.c:2629
#define IRP_MJ_INTERNAL_DEVICE_CONTROL
#define STATUS_UNSUCCESSFUL
Definition: udferr_usr.h:132
#define ExAllocatePoolWithTag(hernya, size, tag)
Definition: env_spec_w32.h:350
PUSBPORT_INVALIDATE_CONTROLLER UsbPortInvalidateController
Definition: usbmport.h:623
#define IRP_MJ_POWER
#define IRP_MJ_CLOSE
Definition: rdpdr.c:45
PDRIVER_UNLOAD DriverUnload
Definition: iotypes.h:2180
#define IRP_MJ_SYSTEM_CONTROL
PDRIVER_ADD_DEVICE AddDevice
Definition: iotypes.h:2112
#define InitializeListHead(ListHead)
Definition: env_spec_w32.h:944
ULONG NTAPI USBPORT_AssertFailure(PVOID MiniPortExtension, PVOID FailedAssertion, PVOID FileName, ULONG LineNumber, PCHAR Message)
Definition: debug.c:39
ULONG NTAPI USBPORT_DbgPrint(IN PVOID MiniPortExtension, IN ULONG Level, IN PCH Format,...)
Definition: debug.c:20
PUSBPORT_GET_MINIPORT_REGISTRY_KEY_VALUE UsbPortGetMiniportRegistryKeyValue
Definition: usbmport.h:613
ULONG NTAPI USBPORT_InvalidateEndpoint(IN PVOID MiniPortExtension, IN PVOID MiniPortEndpoint)
Definition: usbport.c:2142
VOID NTAPI USBPORT_BugCheck(IN PVOID MiniPortExtension)
Definition: debug.c:52
KSPIN_LOCK USBPORT_SpinLock
Definition: usbport.c:22
PDRIVER_DISPATCH MajorFunction[IRP_MJ_MAXIMUM_FUNCTION+1]
Definition: iotypes.h:2181
ULONG NTAPI USBPORT_InvalidateController(IN PVOID MiniPortExtension, IN ULONG Type)
Definition: usbport.c:670
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:261
PUSBPORT_WAIT UsbPortWait
Definition: usbmport.h:622
PUSBPORT_BUG_CHECK UsbPortBugCheck
Definition: usbmport.h:624
NTSTATUS NTAPI USBPORT_AddDevice(IN PDRIVER_OBJECT DriverObject, IN PDEVICE_OBJECT PhysicalDeviceObject)
Definition: usbport.c:1811
return STATUS_SUCCESS
Definition: btrfs.c:2938
#define USB10_MINIPORT_INTERFACE_VERSION
Definition: usbmport.h:636
LIST_ENTRY USBPORT_MiniPortDrivers
Definition: usbport.c:18
ULONG NTAPI USBPORT_LogEntry(IN PVOID MiniPortExtension, IN ULONG DriverTag, IN ULONG EnumTag, IN ULONG P1, IN ULONG P2, IN ULONG P3)
Definition: debug.c:61
#define IRP_MJ_DEVICE_CONTROL
Definition: rdpdr.c:52
MPSTATUS NTAPI USBPORT_GetMiniportRegistryKeyValue(IN PVOID MiniPortExtension, IN BOOL UseDriverKey, IN PCWSTR SourceString, IN SIZE_T LengthStr, IN PVOID Buffer, IN SIZE_T BufferLength)
Definition: usbport.c:373

Referenced by DriverEntry().

◆ VOID()

typedef VOID ( NTAPI  ASYNC_TIMER_CALLBACK)