ReactOS 0.4.16-dev-297-gc569aee
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(* PUSBPORT_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:
#define ENDPOINT_INTERRUPT_16ms
Definition: usbmport.h:29
#define ENDPOINT_INTERRUPT_32ms
Definition: usbmport.h:30
#define ENDPOINT_INTERRUPT_8ms
Definition: usbmport.h:28
#define ENDPOINT_INTERRUPT_1ms
Definition: usbmport.h:25
#define ENDPOINT_INTERRUPT_4ms
Definition: usbmport.h:27
#define ENDPOINT_INTERRUPT_2ms
Definition: usbmport.h:26

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 216 of file usbmport.h.

◆ PHCI_CHECK_CONTROLLER

typedef VOID(NTAPI * PHCI_CHECK_CONTROLLER) (PVOID)

Definition at line 239 of file usbmport.h.

◆ PHCI_CLOSE_ENDPOINT

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

Definition at line 170 of file usbmport.h.

◆ PHCI_DISABLE_INTERRUPTS

typedef VOID(NTAPI * PHCI_DISABLE_INTERRUPTS) (PVOID)

Definition at line 251 of file usbmport.h.

◆ PHCI_ENABLE_INTERRUPTS

typedef VOID(NTAPI * PHCI_ENABLE_INTERRUPTS) (PVOID)

Definition at line 248 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 379 of file usbmport.h.

◆ PHCI_FLUSH_INTERRUPTS

typedef VOID(NTAPI * PHCI_FLUSH_INTERRUPTS) (PVOID)

Definition at line 515 of file usbmport.h.

◆ PHCI_GET_32BIT_FRAME_NUMBER

typedef ULONG(NTAPI * PHCI_GET_32BIT_FRAME_NUMBER) (PVOID)

Definition at line 242 of file usbmport.h.

◆ PHCI_GET_ENDPOINT_STATE

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

Definition at line 223 of file usbmport.h.

◆ PHCI_GET_ENDPOINT_STATUS

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

Definition at line 263 of file usbmport.h.

◆ PHCI_INTERRUPT_DPC

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

Definition at line 195 of file usbmport.h.

◆ PHCI_INTERRUPT_NEXT_SOF

typedef VOID(NTAPI * PHCI_INTERRUPT_NEXT_SOF) (PVOID)

Definition at line 245 of file usbmport.h.

◆ PHCI_INTERRUPT_SERVICE

typedef BOOLEAN(NTAPI * PHCI_INTERRUPT_SERVICE) (PVOID)

Definition at line 192 of file usbmport.h.

◆ PHCI_OPEN_ENDPOINT

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

Definition at line 152 of file usbmport.h.

◆ PHCI_PASS_THRU

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

Definition at line 390 of file usbmport.h.

◆ PHCI_POLL_CONTROLLER

typedef VOID(NTAPI * PHCI_POLL_CONTROLLER) (PVOID)

Definition at line 254 of file usbmport.h.

◆ PHCI_POLL_ENDPOINT

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

Definition at line 234 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 164 of file usbmport.h.

◆ PHCI_REBALANCE_ENDPOINT

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

Definition at line 509 of file usbmport.h.

◆ PHCI_REOPEN_ENDPOINT

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

Definition at line 158 of file usbmport.h.

◆ PHCI_RESET_CONTROLLER

typedef VOID(NTAPI * PHCI_RESET_CONTROLLER) (PVOID)

Definition at line 274 of file usbmport.h.

◆ PHCI_RESUME_CONTROLLER

typedef MPSTATUS(NTAPI * PHCI_RESUME_CONTROLLER) (PVOID)

Definition at line 189 of file usbmport.h.

◆ PHCI_RH_CHIRP_ROOT_PORT

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

Definition at line 518 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 341 of file usbmport.h.

◆ PHCI_RH_CLEAR_FEATURE_PORT_ENABLE

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

Definition at line 321 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 336 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 356 of file usbmport.h.

◆ PHCI_RH_CLEAR_FEATURE_PORT_POWER

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

Definition at line 326 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 346 of file usbmport.h.

◆ PHCI_RH_CLEAR_FEATURE_PORT_SUSPEND

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

Definition at line 331 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 351 of file usbmport.h.

◆ PHCI_RH_DISABLE_IRQ

typedef VOID(NTAPI * PHCI_RH_DISABLE_IRQ) (PVOID)

Definition at line 361 of file usbmport.h.

◆ PHCI_RH_ENABLE_IRQ

typedef VOID(NTAPI * PHCI_RH_ENABLE_IRQ) (PVOID)

Definition at line 364 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 296 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 290 of file usbmport.h.

◆ PHCI_RH_GET_ROOT_HUB_DATA

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

Definition at line 278 of file usbmport.h.

◆ PHCI_RH_GET_STATUS

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

Definition at line 283 of file usbmport.h.

◆ PHCI_RH_SET_FEATURE_PORT_ENABLE

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

Definition at line 311 of file usbmport.h.

◆ PHCI_RH_SET_FEATURE_PORT_POWER

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

Definition at line 306 of file usbmport.h.

◆ PHCI_RH_SET_FEATURE_PORT_RESET

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

Definition at line 301 of file usbmport.h.

◆ PHCI_RH_SET_FEATURE_PORT_SUSPEND

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

Definition at line 316 of file usbmport.h.

◆ PHCI_SET_ENDPOINT_DATA_TOGGLE

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

Definition at line 257 of file usbmport.h.

◆ PHCI_SET_ENDPOINT_STATE

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

Definition at line 228 of file usbmport.h.

◆ PHCI_SET_ENDPOINT_STATUS

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

Definition at line 268 of file usbmport.h.

◆ PHCI_START_CONTROLLER

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

Definition at line 176 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 368 of file usbmport.h.

◆ PHCI_STOP_CONTROLLER

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

Definition at line 181 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 208 of file usbmport.h.

◆ PHCI_SUBMIT_TRANSFER

Definition at line 200 of file usbmport.h.

◆ PHCI_SUSPEND_CONTROLLER

typedef VOID(NTAPI * PHCI_SUSPEND_CONTROLLER) (PVOID)

Definition at line 186 of file usbmport.h.

◆ PHCI_TAKE_PORT_CONTROL

typedef VOID(NTAPI * PHCI_TAKE_PORT_CONTROL) (PVOID)

Definition at line 523 of file usbmport.h.

◆ PUSBPORT_ASSERT_FAILURE

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

Definition at line 408 of file usbmport.h.

◆ PUSBPORT_BUG_CHECK

typedef VOID(NTAPI * PUSBPORT_BUG_CHECK) (PVOID)

Definition at line 498 of file usbmport.h.

◆ PUSBPORT_COMPLETE_ISO_TRANSFER

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

Definition at line 441 of file usbmport.h.

◆ PUSBPORT_COMPLETE_TRANSFER

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

Definition at line 433 of file usbmport.h.

◆ PUSBPORT_DBG_PRINT

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

Definition at line 398 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 457 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 416 of file usbmport.h.

◆ PUSBPORT_INVALIDATE_CONTROLLER

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

Definition at line 493 of file usbmport.h.

◆ PUSBPORT_INVALIDATE_ENDPOINT

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

Definition at line 428 of file usbmport.h.

◆ PUSBPORT_INVALIDATE_ROOT_HUB

typedef ULONG(NTAPI * PUSBPORT_INVALIDATE_ROOT_HUB) (PVOID)

Definition at line 425 of file usbmport.h.

◆ PUSBPORT_LOG_ENTRY

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

Definition at line 448 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 501 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 476 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 468 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 405 of file usbmport.h.

◆ PUSBPORT_TRANSFER_PARAMETERS

◆ PUSBPORT_WAIT

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

Definition at line 484 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_ENDPOINT_PROPERTIES = =56+2 *sizeof(PVOID))

◆ C_ASSERT() [2/10]

◆ C_ASSERT() [3/10]

◆ C_ASSERT() [4/10]

◆ C_ASSERT() [5/10]

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

◆ C_ASSERT() [6/10]

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

◆ C_ASSERT() [7/10]

C_ASSERT ( sizeof(USBPORT_ROOT_HUB_DATA = =16)

◆ C_ASSERT() [8/10]

C_ASSERT ( sizeof(USBPORT_SCATTER_GATHER_ELEMENT = =24)

◆ C_ASSERT() [9/10]

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

◆ C_ASSERT() [10/10]

C_ASSERT ( sizeof(USBPORT_TRANSFER_PARAMETERS = =28)

◆ USBPORT_GetHciMn()

ULONG NTAPI USBPORT_GetHciMn ( VOID  )

Definition at line 2804 of file usbport.c.

2805{
2806 return USBPORT_HCI_MN;
2807}
#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 2811 of file usbport.c.

2814{
2815 PUSBPORT_MINIPORT_INTERFACE MiniPortInterface;
2816
2817 DPRINT("USBPORT_RegisterUSBPortDriver: DriverObject - %p, Version - %p, RegPacket - %p\n",
2819 Version,
2820 RegPacket);
2821
2822 DPRINT("USBPORT_RegisterUSBPortDriver: sizeof(USBPORT_MINIPORT_INTERFACE) - %x\n",
2824
2825 DPRINT("USBPORT_RegisterUSBPortDriver: sizeof(USBPORT_DEVICE_EXTENSION) - %x\n",
2826 sizeof(USBPORT_DEVICE_EXTENSION));
2827
2829 {
2830 return STATUS_UNSUCCESSFUL;
2831 }
2832
2834 {
2838
2841 }
2842
2843 MiniPortInterface = ExAllocatePoolWithTag(NonPagedPool,
2845 USB_PORT_TAG);
2846 if (!MiniPortInterface)
2847 {
2849 }
2850
2851 RtlZeroMemory(MiniPortInterface, sizeof(USBPORT_MINIPORT_INTERFACE));
2852
2853 MiniPortInterface->DriverObject = DriverObject;
2854 MiniPortInterface->DriverUnload = DriverObject->DriverUnload;
2855 MiniPortInterface->Version = Version;
2856
2858 &MiniPortInterface->DriverLink,
2860
2861 DriverObject->DriverExtension->AddDevice = USBPORT_AddDevice;
2862 DriverObject->DriverUnload = USBPORT_Unload;
2863
2865 DriverObject->MajorFunction[IRP_MJ_CLOSE] = USBPORT_Dispatch;
2868 DriverObject->MajorFunction[IRP_MJ_PNP] = USBPORT_Dispatch;
2869 DriverObject->MajorFunction[IRP_MJ_POWER] = USBPORT_Dispatch;
2871
2888
2889 RtlCopyMemory(&MiniPortInterface->Packet,
2890 RegPacket,
2892
2893 return STATUS_SUCCESS;
2894}
#define IRP_MJ_PNP
Definition: cdrw_usr.h:52
#define TRUE
Definition: types.h:120
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:60
VOID NTAPI USBPORT_BugCheck(IN PVOID MiniPortExtension)
Definition: debug.c:51
ULONG NTAPI USBPORT_AssertFailure(PVOID MiniPortExtension, PVOID FailedAssertion, PVOID FileName, ULONG LineNumber, PCHAR Message)
Definition: debug.c:38
ULONG NTAPI USBPORT_TestDebugBreak(IN PVOID MiniPortExtension)
Definition: debug.c:30
ULONG USBPORT_DbgPrint(IN PVOID MiniPortExtension, IN ULONG Level, IN PCH Format,...)
Definition: debug.c:19
ULONG NTAPI USBPORT_CompleteIsoTransfer(IN PVOID MiniPortExtension, IN PVOID MiniPortEndpoint, IN PVOID TransferParameters, IN ULONG TransferLength)
Definition: iso.c:25
#define ExAllocatePoolWithTag(hernya, size, tag)
Definition: env_spec_w32.h:350
#define NonPagedPool
Definition: env_spec_w32.h:307
#define InitializeListHead(ListHead)
Definition: env_spec_w32.h:944
#define KeInitializeSpinLock(sl)
Definition: env_spec_w32.h:604
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_CLOSE
Definition: rdpdr.c:45
#define IRP_MJ_DEVICE_CONTROL
Definition: rdpdr.c:52
#define IRP_MJ_CREATE
Definition: rdpdr.c:44
#define STATUS_SUCCESS
Definition: shellext.h:65
#define DPRINT
Definition: sndvol32.h:73
USBPORT_REGISTRATION_PACKET Packet
Definition: usbmport.h:644
PDRIVER_OBJECT DriverObject
Definition: usbmport.h:640
PDRIVER_UNLOAD DriverUnload
Definition: usbmport.h:642
PUSBPORT_GET_MINIPORT_REGISTRY_KEY_VALUE UsbPortGetMiniportRegistryKeyValue
Definition: usbmport.h:613
PUSBPORT_INVALIDATE_CONTROLLER UsbPortInvalidateController
Definition: usbmport.h:623
PUSBPORT_REQUEST_ASYNC_CALLBACK UsbPortRequestAsyncCallback
Definition: usbmport.h:620
PUSBPORT_TEST_DEBUG_BREAK UsbPortTestDebugBreak
Definition: usbmport.h:611
PUSBPORT_LOG_ENTRY UsbPortLogEntry
Definition: usbmport.h:618
PUSBPORT_BUG_CHECK UsbPortBugCheck
Definition: usbmport.h:624
PUSBPORT_NOTIFY_DOUBLE_BUFFER UsbPortNotifyDoubleBuffer
Definition: usbmport.h:625
PUSBPORT_INVALIDATE_ROOT_HUB UsbPortInvalidateRootHub
Definition: usbmport.h:614
PUSBPORT_COMPLETE_ISO_TRANSFER UsbPortCompleteIsoTransfer
Definition: usbmport.h:617
PUSBPORT_DBG_PRINT UsbPortDbgPrint
Definition: usbmport.h:610
PUSBPORT_WAIT UsbPortWait
Definition: usbmport.h:622
PUSBPORT_COMPLETE_TRANSFER UsbPortCompleteTransfer
Definition: usbmport.h:616
PUSBPORT_READ_WRITE_CONFIG_SPACE UsbPortReadWriteConfigSpace
Definition: usbmport.h:621
PUSBPORT_ASSERT_FAILURE UsbPortAssertFailure
Definition: usbmport.h:612
PUSBPORT_GET_MAPPED_VIRTUAL_ADDRESS UsbPortGetMappedVirtualAddress
Definition: usbmport.h:619
PUSBPORT_INVALIDATE_ENDPOINT UsbPortInvalidateEndpoint
Definition: usbmport.h:615
#define RtlCopyMemory(Destination, Source, Length)
Definition: typedefs.h:263
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262
#define STATUS_UNSUCCESSFUL
Definition: udferr_usr.h:132
#define STATUS_INSUFFICIENT_RESOURCES
Definition: udferr_usr.h:158
USBPORT_REGISTRATION_PACKET RegPacket
Definition: usbehci.c:16
#define USB10_MINIPORT_INTERFACE_VERSION
Definition: usbmport.h:636
ULONG NTAPI USBPORT_InvalidateRootHub(PVOID MiniPortExtension)
Definition: roothub.c:917
BOOLEAN USBPORT_Initialized
Definition: usbport.c:23
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
MPSTATUS NTAPI USBPORT_ReadWriteConfigSpace(IN PVOID MiniPortExtension, IN BOOLEAN IsReadData, IN PVOID Buffer, IN ULONG Offset, IN ULONG Length)
Definition: usbport.c:456
KSPIN_LOCK USBPORT_SpinLock
Definition: usbport.c:22
NTSTATUS NTAPI USBPORT_AddDevice(IN PDRIVER_OBJECT DriverObject, IN PDEVICE_OBJECT PhysicalDeviceObject)
Definition: usbport.c:1833
ULONG NTAPI USBPORT_InvalidateController(IN PVOID MiniPortExtension, IN ULONG Type)
Definition: usbport.c:670
LIST_ENTRY USBPORT_USB2FdoList
Definition: usbport.c:20
ULONG NTAPI USBPORT_InvalidateEndpoint(IN PVOID MiniPortExtension, IN PVOID MiniPortEndpoint)
Definition: usbport.c:2164
LIST_ENTRY USBPORT_MiniPortDrivers
Definition: usbport.c:18
ULONG NTAPI USBPORT_NotifyDoubleBuffer(IN PVOID MiniPortExtension, IN PVOID MiniPortTransfer, IN PVOID Buffer, IN SIZE_T Length)
Definition: usbport.c:690
PVOID NTAPI USBPORT_GetMappedVirtualAddress(IN ULONG PhysicalAddress, IN PVOID MiniPortExtension, IN PVOID MiniPortEndpoint)
Definition: usbport.c:2135
NTSTATUS NTAPI USBPORT_Dispatch(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: usbport.c:2651
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:2079
VOID NTAPI USBPORT_Unload(IN PDRIVER_OBJECT DriverObject)
Definition: usbport.c:1970
LIST_ENTRY USBPORT_USB1FdoList
Definition: usbport.c:19
NTSTATUS NTAPI USBPORT_Wait(IN PVOID MiniPortExtension, IN ULONG Milliseconds)
Definition: usbport.c:543
VOID NTAPI USBPORT_MiniportCompleteTransfer(IN PVOID MiniPortExtension, IN PVOID MiniPortEndpoint, IN PVOID TransferParameters, IN USBD_STATUS USBDStatus, IN ULONG TransferLength)
Definition: usbport.c:1990
#define USB_PORT_TAG
Definition: usbport.h:44
_Must_inspect_result_ _In_ PDRIVER_OBJECT DriverObject
Definition: wdfdriver.h:213
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE _In_ USHORT _In_ USHORT Version
Definition: wdffdo.h:469
#define IRP_MJ_SYSTEM_CONTROL
#define IRP_MJ_INTERNAL_DEVICE_CONTROL
#define IRP_MJ_POWER

Referenced by DriverEntry().

◆ VOID()

typedef VOID ( NTAPI  ASYNC_TIMER_CALLBACK)