ReactOS 0.4.15-dev-8419-g7f0e8a3
wdfusb.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

union  _WDF_USB_CONTROL_SETUP_PACKET
 
struct  _WDF_USB_REQUEST_COMPLETION_PARAMS
 
struct  _WDF_USB_CONTINUOUS_READER_CONFIG
 
struct  _WDF_USB_DEVICE_INFORMATION
 
struct  _WDF_USB_INTERFACE_SETTING_PAIR
 
struct  _WDF_USB_DEVICE_SELECT_CONFIG_PARAMS
 
struct  _WDF_USB_INTERFACE_SELECT_SETTING_PARAMS
 
struct  _WDF_USB_PIPE_INFORMATION
 
struct  _WDF_USB_DEVICE_CREATE_CONFIG
 

Macros

#define WDF_EXTERN_C
 
#define WDF_EXTERN_C_START
 
#define WDF_EXTERN_C_END
 
#define BMREQUEST_HOST_TO_DEVICE   0
 
#define BMREQUEST_DEVICE_TO_HOST   1
 
#define BMREQUEST_STANDARD   0
 
#define BMREQUEST_CLASS   1
 
#define BMREQUEST_VENDOR   2
 
#define BMREQUEST_TO_DEVICE   0
 
#define BMREQUEST_TO_INTERFACE   1
 
#define BMREQUEST_TO_ENDPOINT   2
 
#define BMREQUEST_TO_OTHER   3
 

Typedefs

typedef enum _WDF_USB_REQUEST_TYPE WDF_USB_REQUEST_TYPE
 
typedef enum _WDF_USB_REQUEST_TYPEPWDF_USB_REQUEST_TYPE
 
typedef enum _WDF_USB_BMREQUEST_DIRECTION WDF_USB_BMREQUEST_DIRECTION
 
typedef enum _WDF_USB_BMREQUEST_TYPE WDF_USB_BMREQUEST_TYPE
 
typedef enum _WDF_USB_BMREQUEST_RECIPIENT WDF_USB_BMREQUEST_RECIPIENT
 
typedef enum _WDF_USB_PIPE_TYPE WDF_USB_PIPE_TYPE
 
typedef enum _WdfUsbTargetDeviceSelectConfigType WdfUsbTargetDeviceSelectConfigType
 
typedef enum _WdfUsbTargetDeviceSelectSettingType WdfUsbTargetDeviceSelectSettingType
 
typedef enum _WDF_USB_DEVICE_TRAITS WDF_USB_DEVICE_TRAITS
 
typedef union _WDF_USB_CONTROL_SETUP_PACKET WDF_USB_CONTROL_SETUP_PACKET
 
typedef union _WDF_USB_CONTROL_SETUP_PACKETPWDF_USB_CONTROL_SETUP_PACKET
 
typedef struct _WDF_USB_REQUEST_COMPLETION_PARAMS WDF_USB_REQUEST_COMPLETION_PARAMS
 
typedef struct _WDF_USB_REQUEST_COMPLETION_PARAMSPWDF_USB_REQUEST_COMPLETION_PARAMS
 
typedef _In_ WDFMEMORY Buffer
 
typedef _In_ WDFMEMORY _In_ size_t NumBytesTransferred
 
typedef _In_ WDFMEMORY _In_ size_t _In_ WDFCONTEXT Context
 
typedef EVT_WDF_USB_READER_COMPLETION_ROUTINE * PFN_WDF_USB_READER_COMPLETION_ROUTINE
 
typedef _In_ NTSTATUS Status
 
typedef _In_ NTSTATUS _In_ USBD_STATUS UsbdStatus
 
typedef EVT_WDF_USB_READERS_FAILED * PFN_WDF_USB_READERS_FAILED
 
typedef struct _WDF_USB_CONTINUOUS_READER_CONFIG WDF_USB_CONTINUOUS_READER_CONFIG
 
typedef struct _WDF_USB_CONTINUOUS_READER_CONFIGPWDF_USB_CONTINUOUS_READER_CONFIG
 
typedef struct _WDF_USB_DEVICE_INFORMATION WDF_USB_DEVICE_INFORMATION
 
typedef struct _WDF_USB_DEVICE_INFORMATIONPWDF_USB_DEVICE_INFORMATION
 
typedef struct _WDF_USB_INTERFACE_SETTING_PAIR WDF_USB_INTERFACE_SETTING_PAIR
 
typedef struct _WDF_USB_INTERFACE_SETTING_PAIRPWDF_USB_INTERFACE_SETTING_PAIR
 
typedef struct _WDF_USB_DEVICE_SELECT_CONFIG_PARAMS WDF_USB_DEVICE_SELECT_CONFIG_PARAMS
 
typedef struct _WDF_USB_DEVICE_SELECT_CONFIG_PARAMSPWDF_USB_DEVICE_SELECT_CONFIG_PARAMS
 
typedef struct _WDF_USB_INTERFACE_SELECT_SETTING_PARAMS WDF_USB_INTERFACE_SELECT_SETTING_PARAMS
 
typedef struct _WDF_USB_INTERFACE_SELECT_SETTING_PARAMSPWDF_USB_INTERFACE_SELECT_SETTING_PARAMS
 
typedef struct _WDF_USB_PIPE_INFORMATION WDF_USB_PIPE_INFORMATION
 
typedef struct _WDF_USB_PIPE_INFORMATIONPWDF_USB_PIPE_INFORMATION
 
typedef struct _WDF_USB_DEVICE_CREATE_CONFIG WDF_USB_DEVICE_CREATE_CONFIG
 
typedef struct _WDF_USB_DEVICE_CREATE_CONFIGPWDF_USB_DEVICE_CREATE_CONFIG
 
typedef _Must_inspect_result_ _IRQL_requires_max_(PASSIVE_LEVEL) WDFAPI NTSTATUS(STDCALL *PFN_WDFUSBTARGETDEVICECREATE) (_In_ PWDF_DRIVER_GLOBALS DriverGlobals
 
typedef _Must_inspect_result_ _In_ WDFDEVICE Device
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFUSBDEVICE * UsbDevice
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_USB_DEVICE_CREATE_CONFIG Config
 
typedef _Must_inspect_result_ _In_ WDFUSBDEVICE _Out_ PWDF_USB_DEVICE_INFORMATION Information
 
typedef _In_ WDFUSBDEVICE _Out_ PUSB_DEVICE_DESCRIPTOR UsbDeviceDescriptor
 
typedef _Must_inspect_result_ _In_ WDFUSBDEVICE _Out_writes_bytes_to_opt_ ConfigDescriptorLength PVOID ConfigDescriptor
 
typedef _Must_inspect_result_ _In_ WDFUSBDEVICE _Out_writes_bytes_to_opt_ ConfigDescriptorLength PVOID _Inout_ PUSHORT ConfigDescriptorLength
 
typedef _Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST Request
 
typedef _Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS RequestOptions
 
typedef _Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_writes_opt_ NumCharacters PUSHORT String
 
typedef _Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_writes_opt_ NumCharacters PUSHORT _Inout_ PUSHORT NumCharacters
 
typedef _Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_writes_opt_ NumCharacters PUSHORT _Inout_ PUSHORT _In_ UCHAR StringIndex
 
typedef _Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_writes_opt_ NumCharacters PUSHORT _Inout_ PUSHORT _In_ UCHAR _In_opt_ USHORT LangID
 
typedef _Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES StringMemoryAttributes
 
typedef _Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFMEMORY * StringMemory = NULL
 
typedef _Must_inspect_result_ _In_ WDFUSBDEVICE _In_ WDFREQUEST _In_ WDFMEMORY Memory
 
typedef _Must_inspect_result_ _In_ WDFUSBDEVICE _In_ WDFREQUEST _In_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET Offset
 
typedef _Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES PipeAttributes
 
typedef _Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Inout_ PWDF_USB_DEVICE_SELECT_CONFIG_PARAMS Params
 
typedef _Must_inspect_result_ _In_ WDFUSBDEVICE _Out_ PULONG CurrentFrameNumber
 
typedef _Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS _In_ PWDF_USB_CONTROL_SETUP_PACKET SetupPacket
 
typedef _Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS _In_ PWDF_USB_CONTROL_SETUP_PACKET _In_opt_ PWDF_MEMORY_DESCRIPTOR MemoryDescriptor
 
typedef _Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS _In_ PWDF_USB_CONTROL_SETUP_PACKET _In_opt_ PWDF_MEMORY_DESCRIPTOR _Out_opt_ PULONG BytesTransferred
 
typedef _Must_inspect_result_ _In_ WDFUSBDEVICE _In_ WDFREQUEST _In_ PWDF_USB_CONTROL_SETUP_PACKET _In_opt_ WDFMEMORY TransferMemory
 
typedef _Must_inspect_result_ _In_ WDFUSBDEVICE _In_ WDFREQUEST _In_ PWDF_USB_CONTROL_SETUP_PACKET _In_opt_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET TransferOffset
 
typedef _Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS _In_reads_(_Inexpressible_("union bug in SAL")) PURB Urb)
 
typedef _Must_inspect_result_ _In_ WDFUSBDEVICE _In_ WDFREQUEST _In_ WDFMEMORY UrbMemory
 
typedef _Must_inspect_result_ _In_ WDFUSBDEVICE _In_ WDFREQUEST _In_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET UrbMemoryOffset
 
typedef _Must_inspect_result_ _In_ WDFUSBDEVICE _In_ CONST GUIDCapabilityType
 
typedef _Must_inspect_result_ _In_ WDFUSBDEVICE _In_ CONST GUID _In_ ULONG CapabilityBufferLength
 
typedef _Must_inspect_result_ _In_ WDFUSBDEVICE _In_ CONST GUID _In_ ULONG _When_(CapabilityBufferLength==0, _Out_opt_) _When_(CapabilityBufferLength !=0 &&ResultLength == NULL
 
typedef _Must_inspect_result_ _In_ WDFUSBDEVICE _In_ CONST GUID _In_ ULONG _Out_writes_bytes_(CapabilityBufferLength)) _When_(CapabilityBufferLength !=0 &&ResultLength ! = NULL
 
typedef _Must_inspect_result_ _In_ WDFUSBDEVICE _In_ CONST GUID _In_ ULONG _Out_writes_bytes_to_opt_(CapabilityBufferLength, *ResultLength)) PVOID CapabilityBuffer
 
typedef _Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFMEMORY _Outptr_opt_result_bytebuffer_(sizeof(URB)) PURB *Urb)
 
typedef _Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ ULONG NumberOfIsochPackets
 
typedef _In_ WDFUSBPIPE Pipe
 
typedef _In_ WDFUSBPIPE _Out_ PWDF_USB_PIPE_INFORMATION PipeInformation
 
typedef _Must_inspect_result_ _In_ WDFUSBPIPE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS _In_opt_ PWDF_MEMORY_DESCRIPTOR _Out_opt_ PULONG BytesWritten
 
typedef _Must_inspect_result_ _In_ WDFUSBPIPE _In_ WDFREQUEST _In_opt_ WDFMEMORY WriteMemory
 
typedef _Must_inspect_result_ _In_ WDFUSBPIPE _In_ WDFREQUEST _In_opt_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET WriteOffset
 
typedef _Must_inspect_result_ _In_ WDFUSBPIPE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS _In_opt_ PWDF_MEMORY_DESCRIPTOR _Out_opt_ PULONG BytesRead
 
typedef _Must_inspect_result_ _In_ WDFUSBPIPE _In_ WDFREQUEST _In_opt_ WDFMEMORY ReadMemory
 
typedef _Must_inspect_result_ _In_ WDFUSBPIPE _In_ WDFREQUEST _In_opt_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET ReadOffset
 
typedef _Must_inspect_result_ _In_ WDFUSBPIPE PIPE
 
typedef _In_ WDFUSBINTERFACE UsbInterface
 
typedef _In_ WDFUSBINTERFACE _In_ UCHAR SettingIndex
 
typedef _In_ WDFUSBINTERFACE _In_ UCHAR _Out_ PUSB_INTERFACE_DESCRIPTOR InterfaceDescriptor
 
typedef _Must_inspect_result_ _In_ WDFUSBINTERFACE _In_opt_ PWDF_OBJECT_ATTRIBUTES PipesAttributes
 
typedef _In_ WDFUSBINTERFACE _In_ UCHAR _In_ UCHAR EndpointIndex
 
typedef _In_ WDFUSBINTERFACE _In_ UCHAR _In_ UCHAR _Out_ PWDF_USB_PIPE_INFORMATION EndpointInfo
 
typedef _In_ WDFUSBDEVICE _In_ UCHAR InterfaceIndex
 
typedef _In_ WDFUSBINTERFACE Interface
 
typedef _In_ WDFUSBINTERFACE _In_ UCHAR PipeIndex
 
typedef _In_ WDFUSBINTERFACE _In_ UCHAR _Out_opt_ PWDF_USB_PIPE_INFORMATION PipeInfo
 
typedef _In_ WDFUSBPIPE UsbPipe
 

Enumerations

enum  _WDF_USB_REQUEST_TYPE {
  WdfUsbRequestTypeInvalid = 0 , WdfUsbRequestTypeNoFormat , WdfUsbRequestTypeDeviceString , WdfUsbRequestTypeDeviceControlTransfer ,
  WdfUsbRequestTypeDeviceUrb , WdfUsbRequestTypePipeWrite , WdfUsbRequestTypePipeRead , WdfUsbRequestTypePipeAbort ,
  WdfUsbRequestTypePipeReset , WdfUsbRequestTypePipeUrb
}
 
enum  _WDF_USB_BMREQUEST_DIRECTION { BmRequestHostToDevice = BMREQUEST_HOST_TO_DEVICE , BmRequestDeviceToHost = BMREQUEST_DEVICE_TO_HOST }
 
enum  _WDF_USB_BMREQUEST_TYPE { BmRequestStandard = BMREQUEST_STANDARD , BmRequestClass = BMREQUEST_CLASS , BmRequestVendor = BMREQUEST_VENDOR }
 
enum  _WDF_USB_BMREQUEST_RECIPIENT { BmRequestToDevice = BMREQUEST_TO_DEVICE , BmRequestToInterface = BMREQUEST_TO_INTERFACE , BmRequestToEndpoint = BMREQUEST_TO_ENDPOINT , BmRequestToOther = BMREQUEST_TO_OTHER }
 
enum  _WDF_USB_PIPE_TYPE {
  WdfUsbPipeTypeInvalid = 0 , WdfUsbPipeTypeControl , WdfUsbPipeTypeIsochronous , WdfUsbPipeTypeBulk ,
  WdfUsbPipeTypeInterrupt
}
 
enum  _WdfUsbTargetDeviceSelectConfigType {
  WdfUsbTargetDeviceSelectConfigTypeInvalid = 0 , WdfUsbTargetDeviceSelectConfigTypeDeconfig = 1 , WdfUsbTargetDeviceSelectConfigTypeSingleInterface = 2 , WdfUsbTargetDeviceSelectConfigTypeMultiInterface = 3 ,
  WdfUsbTargetDeviceSelectConfigTypeInterfacesPairs = 4 , WdfUsbTargetDeviceSelectConfigTypeInterfacesDescriptor = 5 , WdfUsbTargetDeviceSelectConfigTypeUrb = 6
}
 
enum  _WdfUsbTargetDeviceSelectSettingType { WdfUsbInterfaceSelectSettingTypeDescriptor = 0x10 , WdfUsbInterfaceSelectSettingTypeSetting = 0x11 , WdfUsbInterfaceSelectSettingTypeUrb = 0x12 }
 
enum  _WDF_USB_DEVICE_TRAITS { WDF_USB_DEVICE_TRAIT_SELF_POWERED = 0x00000001 , WDF_USB_DEVICE_TRAIT_REMOTE_WAKE_CAPABLE = 0x00000002 , WDF_USB_DEVICE_TRAIT_AT_HIGH_SPEED = 0x00000004 }
 

Functions

FORCEINLINE VOID WDF_USB_CONTROL_SETUP_PACKET_INIT (_Out_ PWDF_USB_CONTROL_SETUP_PACKET Packet, _In_ WDF_USB_BMREQUEST_DIRECTION Direction, _In_ WDF_USB_BMREQUEST_RECIPIENT Recipient, _In_ BYTE Request, _In_ USHORT Value, _In_ USHORT Index)
 
FORCEINLINE VOID WDF_USB_CONTROL_SETUP_PACKET_INIT_CLASS (_Out_ PWDF_USB_CONTROL_SETUP_PACKET Packet, _In_ WDF_USB_BMREQUEST_DIRECTION Direction, _In_ WDF_USB_BMREQUEST_RECIPIENT Recipient, _In_ BYTE Request, _In_ USHORT Value, _In_ USHORT Index)
 
FORCEINLINE VOID WDF_USB_CONTROL_SETUP_PACKET_INIT_VENDOR (_Out_ PWDF_USB_CONTROL_SETUP_PACKET Packet, _In_ WDF_USB_BMREQUEST_DIRECTION Direction, _In_ WDF_USB_BMREQUEST_RECIPIENT Recipient, _In_ BYTE Request, _In_ USHORT Value, _In_ USHORT Index)
 
FORCEINLINE VOID WDF_USB_CONTROL_SETUP_PACKET_INIT_FEATURE (_Out_ PWDF_USB_CONTROL_SETUP_PACKET Packet, _In_ WDF_USB_BMREQUEST_RECIPIENT BmRequestRecipient, _In_ USHORT FeatureSelector, _In_ USHORT Index, _In_ BOOLEAN SetFeature)
 
FORCEINLINE VOID WDF_USB_CONTROL_SETUP_PACKET_INIT_GET_STATUS (_Out_ PWDF_USB_CONTROL_SETUP_PACKET Packet, _In_ WDF_USB_BMREQUEST_RECIPIENT BmRequestRecipient, _In_ USHORT Index)
 
typedef _Function_class_ (EVT_WDF_USB_READER_COMPLETION_ROUTINE) _IRQL_requires_same_ _IRQL_requires_max_(DISPATCH_LEVEL) VOID STDCALL EVT_WDF_USB_READER_COMPLETION_ROUTINE(_In_ WDFUSBPIPE Pipe
 
typedef _Function_class_ (EVT_WDF_USB_READERS_FAILED) _IRQL_requires_same_ _IRQL_requires_max_(PASSIVE_LEVEL) BOOLEAN STDCALL EVT_WDF_USB_READERS_FAILED(_In_ WDFUSBPIPE Pipe
 
FORCEINLINE VOID WDF_USB_CONTINUOUS_READER_CONFIG_INIT (_Out_ PWDF_USB_CONTINUOUS_READER_CONFIG Config, _In_ PFN_WDF_USB_READER_COMPLETION_ROUTINE EvtUsbTargetPipeReadComplete, _In_ WDFCONTEXT EvtUsbTargetPipeReadCompleteContext, _In_ size_t TransferLength)
 
FORCEINLINE WDFIOTARGET WdfUsbTargetDeviceGetIoTarget (_In_ WDFUSBDEVICE UsbDevice)
 
FORCEINLINE VOID WDF_USB_DEVICE_INFORMATION_INIT (_Out_ PWDF_USB_DEVICE_INFORMATION Udi)
 
FORCEINLINE VOID WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_INIT_SINGLE_INTERFACE (_Out_ PWDF_USB_DEVICE_SELECT_CONFIG_PARAMS Params)
 
FORCEINLINE VOID WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_INIT_MULTIPLE_INTERFACES (_Out_ PWDF_USB_DEVICE_SELECT_CONFIG_PARAMS Params, _In_opt_ UCHAR NumberInterfaces, _In_opt_ PWDF_USB_INTERFACE_SETTING_PAIR SettingPairs)
 
FORCEINLINE VOID WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_INIT_INTERFACES_DESCRIPTORS (_Out_ PWDF_USB_DEVICE_SELECT_CONFIG_PARAMS Params, _In_ PUSB_CONFIGURATION_DESCRIPTOR ConfigDescriptor, _In_ PUSB_INTERFACE_DESCRIPTOR *InterfaceDescriptors, _In_ ULONG NumInterfaceDescriptors)
 
FORCEINLINE VOID WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_INIT_URB (_Out_ PWDF_USB_DEVICE_SELECT_CONFIG_PARAMS Params, _In_ PURB Urb)
 
VOID FORCEINLINE WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_INIT_DECONFIG (_Out_ PWDF_USB_DEVICE_SELECT_CONFIG_PARAMS Params)
 
FORCEINLINE VOID WDF_USB_INTERFACE_SELECT_SETTING_PARAMS_INIT_DESCRIPTOR (_Out_ PWDF_USB_INTERFACE_SELECT_SETTING_PARAMS Params, _In_ PUSB_INTERFACE_DESCRIPTOR Interface)
 
FORCEINLINE VOID WDF_USB_INTERFACE_SELECT_SETTING_PARAMS_INIT_URB (_Out_ PWDF_USB_INTERFACE_SELECT_SETTING_PARAMS Params, _In_ PURB Urb)
 
FORCEINLINE VOID WDF_USB_INTERFACE_SELECT_SETTING_PARAMS_INIT_SETTING (_Out_ PWDF_USB_INTERFACE_SELECT_SETTING_PARAMS Params, _In_ UCHAR SettingIndex)
 
FORCEINLINE WDFIOTARGET WdfUsbTargetPipeGetIoTarget (_In_ WDFUSBPIPE Pipe)
 
FORCEINLINE VOID WDF_USB_PIPE_INFORMATION_INIT (_Out_ PWDF_USB_PIPE_INFORMATION Info)
 
FORCEINLINE BOOLEAN WDF_USB_PIPE_DIRECTION_IN (_In_ UCHAR EndpointAddress)
 
FORCEINLINE BOOLEAN WDF_USB_PIPE_DIRECTION_OUT (_In_ UCHAR EndpointAddress)
 
FORCEINLINE VOID WDF_USB_DEVICE_CREATE_CONFIG_INIT (_Out_ PWDF_USB_DEVICE_CREATE_CONFIG Config, _In_ ULONG USBDClientContractVersion)
 
_Must_inspect_result_ _IRQL_requires_max_ (DISPATCH_LEVEL) FORCEINLINE NTSTATUS WdfUsbTargetDeviceRetrieveInformation(_In_ WDFUSBDEVICE UsbDevice
 
_Must_inspect_result_ _In_ CONST GUID _In_ ULONG _Out_opt_ _When_ (ResultLength !=NULL, _Deref_out_range_(<=, CapabilityBufferLength)) PULONG ResultLength)
 
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ ULONG _Out_ WDFMEMORY _Outptr_opt_result_bytebuffer_ (GET_ISO_URB_SIZE(NumberOfIsochPackets)) PURB *Urb)
 

Macro Definition Documentation

◆ BMREQUEST_CLASS

#define BMREQUEST_CLASS   1

Definition at line 63 of file wdfusb.h.

◆ BMREQUEST_DEVICE_TO_HOST

#define BMREQUEST_DEVICE_TO_HOST   1

Definition at line 55 of file wdfusb.h.

◆ BMREQUEST_HOST_TO_DEVICE

#define BMREQUEST_HOST_TO_DEVICE   0

Definition at line 51 of file wdfusb.h.

◆ BMREQUEST_STANDARD

#define BMREQUEST_STANDARD   0

Definition at line 59 of file wdfusb.h.

◆ BMREQUEST_TO_DEVICE

#define BMREQUEST_TO_DEVICE   0

Definition at line 71 of file wdfusb.h.

◆ BMREQUEST_TO_ENDPOINT

#define BMREQUEST_TO_ENDPOINT   2

Definition at line 79 of file wdfusb.h.

◆ BMREQUEST_TO_INTERFACE

#define BMREQUEST_TO_INTERFACE   1

Definition at line 75 of file wdfusb.h.

◆ BMREQUEST_TO_OTHER

#define BMREQUEST_TO_OTHER   3

Definition at line 83 of file wdfusb.h.

◆ BMREQUEST_VENDOR

#define BMREQUEST_VENDOR   2

Definition at line 67 of file wdfusb.h.

◆ WDF_EXTERN_C

#define WDF_EXTERN_C

Definition at line 38 of file wdfusb.h.

◆ WDF_EXTERN_C_END

#define WDF_EXTERN_C_END

Definition at line 40 of file wdfusb.h.

◆ WDF_EXTERN_C_START

#define WDF_EXTERN_C_START

Definition at line 39 of file wdfusb.h.

Typedef Documentation

◆ _In_reads_

typedef _Must_inspect_result_ _In_ WDFUSBPIPE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS _In_reads_(_Inexpressible_("union bug in SAL")) PURB Urb)

Definition at line 1538 of file wdfusb.h.

◆ _IRQL_requires_max_

typedef _Must_inspect_result_ _IRQL_requires_max_(PASSIVE_LEVEL) WDFAPI NTSTATUS(STDCALL *PFN_WDFUSBINTERFACESELECTSETTING)(_In_ PWDF_DRIVER_GLOBALS DriverGlobals

Definition at line 894 of file wdfusb.h.

◆ _Out_writes_bytes_

Definition at line 1617 of file wdfusb.h.

◆ _Out_writes_bytes_to_opt_

_Must_inspect_result_ _In_ CONST GUID _In_ ULONG _Out_writes_bytes_to_opt_

Definition at line 1618 of file wdfusb.h.

◆ _Outptr_opt_result_bytebuffer_

typedef _Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ ULONG _Out_ WDFMEMORY _Outptr_opt_result_bytebuffer_(GET_ISO_URB_SIZE(NumberOfIsochPackets)) PURB *Urb)

Definition at line 1665 of file wdfusb.h.

◆ _When_

◆ Attributes

◆ Buffer

typedef _In_ WDFMEMORY Buffer

Definition at line 381 of file wdfusb.h.

◆ BytesRead

Initial value:
{
#define WdfFunctions
Definition: wdf.h:66
PWDF_DRIVER_GLOBALS WdfDriverGlobals
@ WdfUsbTargetPipeReadSynchronouslyTableIndex
Definition: wdffuncenum.h:373
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS RequestOptions
Definition: wdfusb.h:1074
_Must_inspect_result_ _In_ WDFUSBPIPE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS _In_opt_ PWDF_MEMORY_DESCRIPTOR _Out_opt_ PULONG BytesRead
Definition: wdfusb.h:1962
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS _In_ PWDF_USB_CONTROL_SETUP_PACKET _In_opt_ PWDF_MEMORY_DESCRIPTOR MemoryDescriptor
Definition: wdfusb.h:1339
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST Request
Definition: wdfusb.h:1072
_In_ WDFUSBPIPE Pipe
Definition: wdfusb.h:1741

Definition at line 1961 of file wdfusb.h.

◆ BytesTransferred

Initial value:
{
@ WdfUsbTargetDeviceSendControlTransferSynchronouslyTableIndex
Definition: wdffuncenum.h:358
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFUSBDEVICE * UsbDevice
Definition: wdfusb.h:906
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS _In_ PWDF_USB_CONTROL_SETUP_PACKET SetupPacket
Definition: wdfusb.h:1337
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS _In_ PWDF_USB_CONTROL_SETUP_PACKET _In_opt_ PWDF_MEMORY_DESCRIPTOR _Out_opt_ PULONG BytesTransferred
Definition: wdfusb.h:1342

Definition at line 1341 of file wdfusb.h.

◆ BytesWritten

Initial value:
{
@ WdfUsbTargetPipeWriteSynchronouslyTableIndex
Definition: wdffuncenum.h:371
_Must_inspect_result_ _In_ WDFUSBPIPE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS _In_opt_ PWDF_MEMORY_DESCRIPTOR _Out_opt_ PULONG BytesWritten
Definition: wdfusb.h:1880

Definition at line 1879 of file wdfusb.h.

◆ CapabilityBufferLength

◆ CapabilityType

◆ Config

Initial value:
{
return ((PFN_WDFUSBTARGETPIPECONFIGCONTINUOUSREADER) WdfFunctions[WdfUsbTargetPipeConfigContinuousReaderTableIndex])(WdfDriverGlobals, Pipe, Config)
@ WdfUsbTargetPipeConfigContinuousReaderTableIndex
Definition: wdffuncenum.h:375
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_USB_DEVICE_CREATE_CONFIG Config
Definition: wdfusb.h:938

Definition at line 938 of file wdfusb.h.

◆ ConfigDescriptor

◆ ConfigDescriptorLength

Initial value:
{
@ WdfUsbTargetDeviceRetrieveConfigDescriptorTableIndex
Definition: wdffuncenum.h:350
_Must_inspect_result_ _In_ WDFUSBDEVICE _Out_writes_bytes_to_opt_ ConfigDescriptorLength PVOID ConfigDescriptor
Definition: wdfusb.h:1036
_Must_inspect_result_ _In_ WDFUSBDEVICE _Out_writes_bytes_to_opt_ ConfigDescriptorLength PVOID _Inout_ PUSHORT ConfigDescriptorLength
Definition: wdfusb.h:1040

Definition at line 1039 of file wdfusb.h.

◆ Context

typedef _In_ WDFMEMORY _In_ size_t _In_ WDFCONTEXT Context

Definition at line 385 of file wdfusb.h.

◆ CurrentFrameNumber

Initial value:
{
@ WdfUsbTargetDeviceRetrieveCurrentFrameNumberTableIndex
Definition: wdffuncenum.h:357
_Must_inspect_result_ _In_ WDFUSBDEVICE _Out_ PULONG CurrentFrameNumber
Definition: wdfusb.h:1303

Definition at line 1302 of file wdfusb.h.

◆ Device

typedef _Must_inspect_result_ _In_ WDFDEVICE Device

Definition at line 901 of file wdfusb.h.

◆ EndpointIndex

Definition at line 2426 of file wdfusb.h.

◆ EndpointInfo

Initial value:
{
@ WdfUsbInterfaceGetEndpointInformationTableIndex
Definition: wdffuncenum.h:386
_In_ WDFUSBINTERFACE UsbInterface
Definition: wdfusb.h:2276
_In_ WDFUSBINTERFACE _In_ UCHAR _In_ UCHAR _Out_ PWDF_USB_PIPE_INFORMATION EndpointInfo
Definition: wdfusb.h:2429
_In_ WDFUSBINTERFACE _In_ UCHAR _In_ UCHAR EndpointIndex
Definition: wdfusb.h:2426
_In_ WDFUSBINTERFACE _In_ UCHAR SettingIndex
Definition: wdfusb.h:2303

Definition at line 2428 of file wdfusb.h.

◆ Information

Initial value:
{
@ WdfUsbTargetDeviceRetrieveInformationTableIndex
Definition: wdffuncenum.h:348
_Must_inspect_result_ _In_ WDFUSBDEVICE _Out_ PWDF_USB_DEVICE_INFORMATION Information
Definition: wdfusb.h:978

Definition at line 977 of file wdfusb.h.

◆ Interface

typedef _In_ WDFUSBINTERFACE Interface

Definition at line 2488 of file wdfusb.h.

◆ InterfaceDescriptor

Initial value:
{
@ WdfUsbInterfaceGetDescriptorTableIndex
Definition: wdffuncenum.h:384
_In_ WDFUSBINTERFACE _In_ UCHAR _Out_ PUSB_INTERFACE_DESCRIPTOR InterfaceDescriptor
Definition: wdfusb.h:2334

Definition at line 2333 of file wdfusb.h.

◆ InterfaceIndex

Initial value:
{
@ WdfUsbTargetDeviceGetInterfaceTableIndex
Definition: wdffuncenum.h:387
_In_ WDFUSBDEVICE _In_ UCHAR InterfaceIndex
Definition: wdfusb.h:2462

Definition at line 2461 of file wdfusb.h.

◆ LangID

Initial value:
{
@ WdfUsbTargetDeviceQueryStringTableIndex
Definition: wdffuncenum.h:351
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_writes_opt_ NumCharacters PUSHORT _Inout_ PUSHORT NumCharacters
Definition: wdfusb.h:1078
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_writes_opt_ NumCharacters PUSHORT _Inout_ PUSHORT _In_ UCHAR StringIndex
Definition: wdfusb.h:1080
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_writes_opt_ NumCharacters PUSHORT _Inout_ PUSHORT _In_ UCHAR _In_opt_ USHORT LangID
Definition: wdfusb.h:1083
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_writes_opt_ NumCharacters PUSHORT String
Definition: wdfusb.h:1075

Definition at line 1082 of file wdfusb.h.

◆ Memory

_Must_inspect_result_ _In_ WDFREQUEST _In_ WDFMEMORY Memory

Definition at line 1172 of file wdfusb.h.

◆ MemoryDescriptor

◆ NumberOfIsochPackets

◆ NumBytesTransferred

typedef _In_ WDFMEMORY _In_ size_t NumBytesTransferred

Definition at line 383 of file wdfusb.h.

◆ NumCharacters

◆ Offset

Definition at line 1174 of file wdfusb.h.

◆ Params

Initial value:
{
@ WdfUsbTargetDeviceSelectConfigTableIndex
Definition: wdffuncenum.h:355
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES PipeAttributes
Definition: wdfusb.h:1242
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Inout_ PWDF_USB_DEVICE_SELECT_CONFIG_PARAMS Params
Definition: wdfusb.h:1245

Definition at line 1244 of file wdfusb.h.

◆ PFN_WDF_USB_READER_COMPLETION_ROUTINE

typedef EVT_WDF_USB_READER_COMPLETION_ROUTINE* PFN_WDF_USB_READER_COMPLETION_ROUTINE

Definition at line 388 of file wdfusb.h.

◆ PFN_WDF_USB_READERS_FAILED

typedef EVT_WDF_USB_READERS_FAILED* PFN_WDF_USB_READERS_FAILED

Definition at line 405 of file wdfusb.h.

◆ Pipe

Initial value:
{
#define PAGED_CODE_LOCKED()
Definition: kefuncs.h:1417

Definition at line 1741 of file wdfusb.h.

◆ PIPE

typedef _Must_inspect_result_ _In_ WDFUSBPIPE PIPE

Definition at line 2237 of file wdfusb.h.

◆ PipeAttributes

◆ PipeIndex

Definition at line 2540 of file wdfusb.h.

◆ PipeInfo

Initial value:
{
@ WdfUsbInterfaceGetConfiguredPipeTableIndex
Definition: wdffuncenum.h:390
_In_ WDFUSBINTERFACE _In_ UCHAR _Out_opt_ PWDF_USB_PIPE_INFORMATION PipeInfo
Definition: wdfusb.h:2543
_In_ WDFUSBINTERFACE _In_ UCHAR PipeIndex
Definition: wdfusb.h:2540

Definition at line 2542 of file wdfusb.h.

◆ PipeInformation

Initial value:
{
@ WdfUsbTargetPipeGetInformationTableIndex
Definition: wdffuncenum.h:366
_In_ WDFUSBPIPE _Out_ PWDF_USB_PIPE_INFORMATION PipeInformation
Definition: wdfusb.h:1744

Definition at line 1743 of file wdfusb.h.

◆ PipesAttributes

◆ PWDF_USB_CONTINUOUS_READER_CONFIG

◆ PWDF_USB_CONTROL_SETUP_PACKET

◆ PWDF_USB_DEVICE_CREATE_CONFIG

◆ PWDF_USB_DEVICE_INFORMATION

◆ PWDF_USB_DEVICE_SELECT_CONFIG_PARAMS

◆ PWDF_USB_INTERFACE_SELECT_SETTING_PARAMS

◆ PWDF_USB_INTERFACE_SETTING_PAIR

◆ PWDF_USB_PIPE_INFORMATION

◆ PWDF_USB_REQUEST_COMPLETION_PARAMS

◆ PWDF_USB_REQUEST_TYPE

◆ ReadMemory

Definition at line 2000 of file wdfusb.h.

◆ ReadOffset

Initial value:
{
@ WdfUsbTargetPipeFormatRequestForReadTableIndex
Definition: wdffuncenum.h:374
_Must_inspect_result_ _In_ WDFUSBPIPE _In_ WDFREQUEST _In_opt_ WDFMEMORY ReadMemory
Definition: wdfusb.h:2000
_Must_inspect_result_ _In_ WDFUSBPIPE _In_ WDFREQUEST _In_opt_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET ReadOffset
Definition: wdfusb.h:2003

Definition at line 2002 of file wdfusb.h.

◆ Request

Initial value:
{
return ((PFN_WDFUSBTARGETDEVICEFORMATREQUESTFORCYCLEPORT) WdfFunctions[WdfUsbTargetDeviceFormatRequestForCyclePortTableIndex])(WdfDriverGlobals, UsbDevice, Request)
@ WdfUsbTargetDeviceFormatRequestForCyclePortTableIndex
Definition: wdffuncenum.h:363

Definition at line 1072 of file wdfusb.h.

◆ RequestOptions

Initial value:
{
@ WdfUsbTargetPipeAbortSynchronouslyTableIndex
Definition: wdffuncenum.h:376

Definition at line 1074 of file wdfusb.h.

◆ SettingIndex

_In_ WDFUSBINTERFACE _In_ UCHAR SettingIndex
Initial value:
{
@ WdfUsbInterfaceGetNumEndpointsTableIndex
Definition: wdffuncenum.h:383

Definition at line 2302 of file wdfusb.h.

◆ SetupPacket

Definition at line 1337 of file wdfusb.h.

◆ Status

typedef _In_ NTSTATUS Status

Definition at line 400 of file wdfusb.h.

◆ String

◆ StringIndex

Definition at line 1080 of file wdfusb.h.

◆ StringMemory

Definition at line 1125 of file wdfusb.h.

◆ StringMemoryAttributes

◆ TransferMemory

◆ TransferOffset

Initial value:
{
@ WdfUsbTargetDeviceFormatRequestForControlTransferTableIndex
Definition: wdffuncenum.h:359
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_ WDFREQUEST _In_ PWDF_USB_CONTROL_SETUP_PACKET _In_opt_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET TransferOffset
Definition: wdfusb.h:1387
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_ WDFREQUEST _In_ PWDF_USB_CONTROL_SETUP_PACKET _In_opt_ WDFMEMORY TransferMemory
Definition: wdfusb.h:1384

Definition at line 1386 of file wdfusb.h.

◆ UrbMemory

Definition at line 1576 of file wdfusb.h.

◆ UrbMemoryOffset

Initial value:
{
@ WdfUsbTargetDeviceFormatRequestForUrbTableIndex
Definition: wdffuncenum.h:365
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_ WDFREQUEST _In_ WDFMEMORY UrbMemory
Definition: wdfusb.h:1576
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_ WDFREQUEST _In_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET UrbMemoryOffset
Definition: wdfusb.h:1579

Definition at line 1578 of file wdfusb.h.

◆ UsbDevice

_In_ WDFUSBDEVICE UsbDevice
Initial value:
{
@ WdfUsbTargetDeviceCreateTableIndex
Definition: wdffuncenum.h:347
_Must_inspect_result_ _In_ WDFDEVICE Device
Definition: wdfusb.h:901
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes
Definition: wdfusb.h:903

Definition at line 905 of file wdfusb.h.

◆ UsbDeviceDescriptor

Initial value:
{
@ WdfUsbTargetDeviceGetDeviceDescriptorTableIndex
Definition: wdffuncenum.h:349
_In_ WDFUSBDEVICE _Out_ PUSB_DEVICE_DESCRIPTOR UsbDeviceDescriptor
Definition: wdfusb.h:1008

Definition at line 1007 of file wdfusb.h.

◆ UsbdStatus

Definition at line 402 of file wdfusb.h.

◆ UsbInterface

_In_ WDFUSBINTERFACE UsbInterface
Initial value:

Definition at line 2275 of file wdfusb.h.

◆ UsbPipe

typedef _In_ WDFUSBPIPE UsbPipe

Definition at line 2571 of file wdfusb.h.

◆ WDF_USB_BMREQUEST_DIRECTION

◆ WDF_USB_BMREQUEST_RECIPIENT

◆ WDF_USB_BMREQUEST_TYPE

◆ WDF_USB_CONTINUOUS_READER_CONFIG

◆ WDF_USB_CONTROL_SETUP_PACKET

◆ WDF_USB_DEVICE_CREATE_CONFIG

◆ WDF_USB_DEVICE_INFORMATION

◆ WDF_USB_DEVICE_SELECT_CONFIG_PARAMS

◆ WDF_USB_DEVICE_TRAITS

◆ WDF_USB_INTERFACE_SELECT_SETTING_PARAMS

◆ WDF_USB_INTERFACE_SETTING_PAIR

◆ WDF_USB_PIPE_INFORMATION

◆ WDF_USB_PIPE_TYPE

◆ WDF_USB_REQUEST_COMPLETION_PARAMS

◆ WDF_USB_REQUEST_TYPE

◆ WdfUsbTargetDeviceSelectConfigType

◆ WdfUsbTargetDeviceSelectSettingType

◆ WriteMemory

Definition at line 1918 of file wdfusb.h.

◆ WriteOffset

Initial value:
{
@ WdfUsbTargetPipeFormatRequestForWriteTableIndex
Definition: wdffuncenum.h:372
_Must_inspect_result_ _In_ WDFUSBPIPE _In_ WDFREQUEST _In_opt_ WDFMEMORY WriteMemory
Definition: wdfusb.h:1918
_Must_inspect_result_ _In_ WDFUSBPIPE _In_ WDFREQUEST _In_opt_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET WriteOffset
Definition: wdfusb.h:1921

Definition at line 1920 of file wdfusb.h.

Enumeration Type Documentation

◆ _WDF_USB_BMREQUEST_DIRECTION

Enumerator
BmRequestHostToDevice 
BmRequestDeviceToHost 

Definition at line 99 of file wdfusb.h.

99 {
@ BmRequestDeviceToHost
Definition: wdfusb.h:101
@ BmRequestHostToDevice
Definition: wdfusb.h:100
enum _WDF_USB_BMREQUEST_DIRECTION WDF_USB_BMREQUEST_DIRECTION
#define BMREQUEST_HOST_TO_DEVICE
Definition: wdfusb.h:51
#define BMREQUEST_DEVICE_TO_HOST
Definition: wdfusb.h:55

◆ _WDF_USB_BMREQUEST_RECIPIENT

Enumerator
BmRequestToDevice 
BmRequestToInterface 
BmRequestToEndpoint 
BmRequestToOther 

Definition at line 110 of file wdfusb.h.

110 {
#define BMREQUEST_TO_INTERFACE
Definition: wdfusb.h:75
#define BMREQUEST_TO_DEVICE
Definition: wdfusb.h:71
@ BmRequestToOther
Definition: wdfusb.h:114
@ BmRequestToInterface
Definition: wdfusb.h:112
@ BmRequestToEndpoint
Definition: wdfusb.h:113
@ BmRequestToDevice
Definition: wdfusb.h:111
#define BMREQUEST_TO_OTHER
Definition: wdfusb.h:83
#define BMREQUEST_TO_ENDPOINT
Definition: wdfusb.h:79
enum _WDF_USB_BMREQUEST_RECIPIENT WDF_USB_BMREQUEST_RECIPIENT

◆ _WDF_USB_BMREQUEST_TYPE

Enumerator
BmRequestStandard 
BmRequestClass 
BmRequestVendor 

Definition at line 104 of file wdfusb.h.

104 {
#define BMREQUEST_VENDOR
Definition: wdfusb.h:67
@ BmRequestStandard
Definition: wdfusb.h:105
@ BmRequestClass
Definition: wdfusb.h:106
@ BmRequestVendor
Definition: wdfusb.h:107
#define BMREQUEST_CLASS
Definition: wdfusb.h:63
enum _WDF_USB_BMREQUEST_TYPE WDF_USB_BMREQUEST_TYPE
#define BMREQUEST_STANDARD
Definition: wdfusb.h:59

◆ _WDF_USB_DEVICE_TRAITS

Enumerator
WDF_USB_DEVICE_TRAIT_SELF_POWERED 
WDF_USB_DEVICE_TRAIT_REMOTE_WAKE_CAPABLE 
WDF_USB_DEVICE_TRAIT_AT_HIGH_SPEED 

Definition at line 141 of file wdfusb.h.

141 {
@ WDF_USB_DEVICE_TRAIT_SELF_POWERED
Definition: wdfusb.h:142
@ WDF_USB_DEVICE_TRAIT_AT_HIGH_SPEED
Definition: wdfusb.h:144
@ WDF_USB_DEVICE_TRAIT_REMOTE_WAKE_CAPABLE
Definition: wdfusb.h:143
enum _WDF_USB_DEVICE_TRAITS WDF_USB_DEVICE_TRAITS

◆ _WDF_USB_PIPE_TYPE

Enumerator
WdfUsbPipeTypeInvalid 
WdfUsbPipeTypeControl 
WdfUsbPipeTypeIsochronous 
WdfUsbPipeTypeBulk 
WdfUsbPipeTypeInterrupt 

Definition at line 117 of file wdfusb.h.

117 {
@ WdfUsbPipeTypeInterrupt
Definition: wdfusb.h:122
@ WdfUsbPipeTypeControl
Definition: wdfusb.h:119
@ WdfUsbPipeTypeBulk
Definition: wdfusb.h:121
@ WdfUsbPipeTypeIsochronous
Definition: wdfusb.h:120
@ WdfUsbPipeTypeInvalid
Definition: wdfusb.h:118
enum _WDF_USB_PIPE_TYPE WDF_USB_PIPE_TYPE

◆ _WDF_USB_REQUEST_TYPE

Enumerator
WdfUsbRequestTypeInvalid 
WdfUsbRequestTypeNoFormat 
WdfUsbRequestTypeDeviceString 
WdfUsbRequestTypeDeviceControlTransfer 
WdfUsbRequestTypeDeviceUrb 
WdfUsbRequestTypePipeWrite 
WdfUsbRequestTypePipeRead 
WdfUsbRequestTypePipeAbort 
WdfUsbRequestTypePipeReset 
WdfUsbRequestTypePipeUrb 

Definition at line 86 of file wdfusb.h.

86 {
enum _WDF_USB_REQUEST_TYPE * PWDF_USB_REQUEST_TYPE
@ WdfUsbRequestTypeDeviceControlTransfer
Definition: wdfusb.h:90
@ WdfUsbRequestTypePipeReset
Definition: wdfusb.h:95
@ WdfUsbRequestTypePipeWrite
Definition: wdfusb.h:92
@ WdfUsbRequestTypePipeRead
Definition: wdfusb.h:93
@ WdfUsbRequestTypeInvalid
Definition: wdfusb.h:87
@ WdfUsbRequestTypePipeUrb
Definition: wdfusb.h:96
@ WdfUsbRequestTypePipeAbort
Definition: wdfusb.h:94
@ WdfUsbRequestTypeDeviceUrb
Definition: wdfusb.h:91
@ WdfUsbRequestTypeDeviceString
Definition: wdfusb.h:89
@ WdfUsbRequestTypeNoFormat
Definition: wdfusb.h:88
enum _WDF_USB_REQUEST_TYPE WDF_USB_REQUEST_TYPE

◆ _WdfUsbTargetDeviceSelectConfigType

Enumerator
WdfUsbTargetDeviceSelectConfigTypeInvalid 
WdfUsbTargetDeviceSelectConfigTypeDeconfig 
WdfUsbTargetDeviceSelectConfigTypeSingleInterface 
WdfUsbTargetDeviceSelectConfigTypeMultiInterface 
WdfUsbTargetDeviceSelectConfigTypeInterfacesPairs 
WdfUsbTargetDeviceSelectConfigTypeInterfacesDescriptor 
WdfUsbTargetDeviceSelectConfigTypeUrb 

Definition at line 125 of file wdfusb.h.

125 {
enum _WdfUsbTargetDeviceSelectConfigType WdfUsbTargetDeviceSelectConfigType
@ WdfUsbTargetDeviceSelectConfigTypeUrb
Definition: wdfusb.h:132
@ WdfUsbTargetDeviceSelectConfigTypeInterfacesPairs
Definition: wdfusb.h:130
@ WdfUsbTargetDeviceSelectConfigTypeSingleInterface
Definition: wdfusb.h:128
@ WdfUsbTargetDeviceSelectConfigTypeInterfacesDescriptor
Definition: wdfusb.h:131
@ WdfUsbTargetDeviceSelectConfigTypeDeconfig
Definition: wdfusb.h:127
@ WdfUsbTargetDeviceSelectConfigTypeInvalid
Definition: wdfusb.h:126
@ WdfUsbTargetDeviceSelectConfigTypeMultiInterface
Definition: wdfusb.h:129

◆ _WdfUsbTargetDeviceSelectSettingType

Enumerator
WdfUsbInterfaceSelectSettingTypeDescriptor 
WdfUsbInterfaceSelectSettingTypeSetting 
WdfUsbInterfaceSelectSettingTypeUrb 

Definition at line 135 of file wdfusb.h.

135 {
@ WdfUsbInterfaceSelectSettingTypeUrb
Definition: wdfusb.h:138
@ WdfUsbInterfaceSelectSettingTypeDescriptor
Definition: wdfusb.h:136
@ WdfUsbInterfaceSelectSettingTypeSetting
Definition: wdfusb.h:137
enum _WdfUsbTargetDeviceSelectSettingType WdfUsbTargetDeviceSelectSettingType

Function Documentation

◆ _Function_class_() [1/2]

typedef _Function_class_ ( EVT_WDF_USB_READER_COMPLETION_ROUTINE  )

◆ _Function_class_() [2/2]

typedef _Function_class_ ( EVT_WDF_USB_READERS_FAILED  )

◆ _IRQL_requires_max_()

_Must_inspect_result_ _IRQL_requires_max_ ( DISPATCH_LEVEL  )

Definition at line 1217 of file wdfusb.h.

1224{
1225 return ((PFN_WDFUSBTARGETDEVICEGETNUMINTERFACES) WdfFunctions[WdfUsbTargetDeviceGetNumInterfacesTableIndex])(WdfDriverGlobals, UsbDevice);
1226}
@ WdfUsbTargetDeviceGetNumInterfacesTableIndex
Definition: wdffuncenum.h:354

◆ _Outptr_opt_result_bytebuffer_()

Definition at line 1723 of file wdfusb.h.

1726{
1728}
@ WdfUsbTargetDeviceCreateIsochUrbTableIndex
Definition: wdffuncenum.h:449
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ ULONG NumberOfIsochPackets
Definition: wdfusb.h:1703

◆ _When_()

Definition at line 1641 of file wdfusb.h.

1644{
1645 return ((PFN_WDFUSBTARGETDEVICEQUERYUSBCAPABILITY) WdfFunctions[WdfUsbTargetDeviceQueryUsbCapabilityTableIndex])(WdfDriverGlobals, UsbDevice, CapabilityType, CapabilityBufferLength, CapabilityBuffer, ResultLength);
1646}
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG _Out_ PULONG ResultLength
Definition: wdfdevice.h:3776
@ WdfUsbTargetDeviceQueryUsbCapabilityTableIndex
Definition: wdffuncenum.h:447
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_ CONST GUID _In_ ULONG CapabilityBufferLength
Definition: wdfusb.h:1615
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_ CONST GUID * CapabilityType
Definition: wdfusb.h:1613

◆ WDF_USB_CONTINUOUS_READER_CONFIG_INIT()

FORCEINLINE VOID WDF_USB_CONTINUOUS_READER_CONFIG_INIT ( _Out_ PWDF_USB_CONTINUOUS_READER_CONFIG  Config,
_In_ PFN_WDF_USB_READER_COMPLETION_ROUTINE  EvtUsbTargetPipeReadComplete,
_In_ WDFCONTEXT  EvtUsbTargetPipeReadCompleteContext,
_In_ size_t  TransferLength 
)

Definition at line 460 of file wdfusb.h.

467{
470
471 Config->EvtUsbTargetPipeReadComplete = EvtUsbTargetPipeReadComplete;
472 Config->EvtUsbTargetPipeReadCompleteContext = EvtUsbTargetPipeReadCompleteContext;
473 Config->TransferLength = TransferLength;
474}
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_CHILD_LIST_CONFIG Config
Definition: wdfchildlist.h:476
struct _WDF_USB_CONTINUOUS_READER_CONFIG WDF_USB_CONTINUOUS_READER_CONFIG

◆ WDF_USB_CONTROL_SETUP_PACKET_INIT()

FORCEINLINE VOID WDF_USB_CONTROL_SETUP_PACKET_INIT ( _Out_ PWDF_USB_CONTROL_SETUP_PACKET  Packet,
_In_ WDF_USB_BMREQUEST_DIRECTION  Direction,
_In_ WDF_USB_BMREQUEST_RECIPIENT  Recipient,
_In_ BYTE  Request,
_In_ USHORT  Value,
_In_ USHORT  Index 
)

Definition at line 204 of file wdfusb.h.

212{
214
215 Packet->Packet.bm.Request.Dir = (BYTE) Direction;
216 Packet->Packet.bm.Request.Type = (BYTE) BmRequestStandard;
217 Packet->Packet.bm.Request.Recipient = (BYTE) Recipient;
218
219 Packet->Packet.bRequest = Request;
220 Packet->Packet.wValue.Value = Value;
221 Packet->Packet.wIndex.Value = Index;
222
223 // Packet->Packet.wLength will be set by the formatting function
224}
_In_ NDIS_HANDLE _In_ PNDIS_PACKET Packet
Definition: ndis.h:1549
_In_ WDFCOLLECTION _In_ ULONG Index
WDF_EXTERN_C_START typedef _In_ WDFDEVICE _In_ WDFCONTEXT _In_ WDF_DMA_DIRECTION Direction
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
Definition: wdfregistry.h:413
unsigned char BYTE
Definition: xxhash.c:193

◆ WDF_USB_CONTROL_SETUP_PACKET_INIT_CLASS()

FORCEINLINE VOID WDF_USB_CONTROL_SETUP_PACKET_INIT_CLASS ( _Out_ PWDF_USB_CONTROL_SETUP_PACKET  Packet,
_In_ WDF_USB_BMREQUEST_DIRECTION  Direction,
_In_ WDF_USB_BMREQUEST_RECIPIENT  Recipient,
_In_ BYTE  Request,
_In_ USHORT  Value,
_In_ USHORT  Index 
)

Definition at line 228 of file wdfusb.h.

236{
238
239 Packet->Packet.bm.Request.Dir = (BYTE) Direction;
240 Packet->Packet.bm.Request.Type = (BYTE) BmRequestClass;
241 Packet->Packet.bm.Request.Recipient = (BYTE) Recipient;
242
243 Packet->Packet.bRequest = Request;
244 Packet->Packet.wValue.Value = Value;
245 Packet->Packet.wIndex.Value = Index;
246
247 // Packet->Packet.wLength will be set by the formatting function
248}

◆ WDF_USB_CONTROL_SETUP_PACKET_INIT_FEATURE()

FORCEINLINE VOID WDF_USB_CONTROL_SETUP_PACKET_INIT_FEATURE ( _Out_ PWDF_USB_CONTROL_SETUP_PACKET  Packet,
_In_ WDF_USB_BMREQUEST_RECIPIENT  BmRequestRecipient,
_In_ USHORT  FeatureSelector,
_In_ USHORT  Index,
_In_ BOOLEAN  SetFeature 
)

Definition at line 276 of file wdfusb.h.

283{
285
286 Packet->Packet.bm.Request.Dir = (BYTE) BmRequestHostToDevice;
287 Packet->Packet.bm.Request.Type = (BYTE) BmRequestStandard;
288 Packet->Packet.bm.Request.Recipient = (BYTE) BmRequestRecipient;
289
290 if (SetFeature) {
291 Packet->Packet.bRequest = USB_REQUEST_SET_FEATURE;
292 }
293 else {
294 Packet->Packet.bRequest = USB_REQUEST_CLEAR_FEATURE;
295 }
296
297 Packet->Packet.wValue.Value = FeatureSelector;
298 Packet->Packet.wIndex.Value = Index;
299
300 // Packet->Packet.wLength will be set by the formatting function
301}
#define USB_REQUEST_SET_FEATURE
Definition: usb100.h:80
#define USB_REQUEST_CLEAR_FEATURE
Definition: usb100.h:79

◆ WDF_USB_CONTROL_SETUP_PACKET_INIT_GET_STATUS()

FORCEINLINE VOID WDF_USB_CONTROL_SETUP_PACKET_INIT_GET_STATUS ( _Out_ PWDF_USB_CONTROL_SETUP_PACKET  Packet,
_In_ WDF_USB_BMREQUEST_RECIPIENT  BmRequestRecipient,
_In_ USHORT  Index 
)

Definition at line 305 of file wdfusb.h.

310{
312
313 Packet->Packet.bm.Request.Dir = (BYTE) BmRequestDeviceToHost;
314 Packet->Packet.bm.Request.Type = (BYTE) BmRequestStandard;
315 Packet->Packet.bm.Request.Recipient = (BYTE) BmRequestRecipient;
316
317 Packet->Packet.bRequest = USB_REQUEST_GET_STATUS;
318 Packet->Packet.wIndex.Value = Index;
319 Packet->Packet.wValue.Value = 0;
320
321 // Packet->Packet.wLength will be set by the formatting function
322}
#define USB_REQUEST_GET_STATUS
Definition: usb100.h:78

◆ WDF_USB_CONTROL_SETUP_PACKET_INIT_VENDOR()

FORCEINLINE VOID WDF_USB_CONTROL_SETUP_PACKET_INIT_VENDOR ( _Out_ PWDF_USB_CONTROL_SETUP_PACKET  Packet,
_In_ WDF_USB_BMREQUEST_DIRECTION  Direction,
_In_ WDF_USB_BMREQUEST_RECIPIENT  Recipient,
_In_ BYTE  Request,
_In_ USHORT  Value,
_In_ USHORT  Index 
)

Definition at line 252 of file wdfusb.h.

260{
262
263 Packet->Packet.bm.Request.Dir = (BYTE) Direction;
264 Packet->Packet.bm.Request.Type = (BYTE) BmRequestVendor;
265 Packet->Packet.bm.Request.Recipient = (BYTE) Recipient;
266
267 Packet->Packet.bRequest = Request;
268 Packet->Packet.wValue.Value = Value;
269 Packet->Packet.wIndex.Value = Index;
270
271 // Packet->Packet.wLength will be set by the formatting function
272}

◆ WDF_USB_DEVICE_CREATE_CONFIG_INIT()

FORCEINLINE VOID WDF_USB_DEVICE_CREATE_CONFIG_INIT ( _Out_ PWDF_USB_DEVICE_CREATE_CONFIG  Config,
_In_ ULONG  USBDClientContractVersion 
)

Definition at line 871 of file wdfusb.h.

875{
877
878 Config->Size = sizeof(WDF_USB_DEVICE_CREATE_CONFIG);
879 Config->USBDClientContractVersion = USBDClientContractVersion;
880}
_Must_inspect_result_ __in FxDeviceBase __in ULONG USBDClientContractVersion
struct _WDF_USB_DEVICE_CREATE_CONFIG WDF_USB_DEVICE_CREATE_CONFIG

◆ WDF_USB_DEVICE_INFORMATION_INIT()

FORCEINLINE VOID WDF_USB_DEVICE_INFORMATION_INIT ( _Out_ PWDF_USB_DEVICE_INFORMATION  Udi)

Definition at line 510 of file wdfusb.h.

513{
515 Udi->Size = sizeof(WDF_USB_DEVICE_INFORMATION);
516}
struct _WDF_USB_DEVICE_INFORMATION WDF_USB_DEVICE_INFORMATION

◆ WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_INIT_DECONFIG()

VOID FORCEINLINE WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_INIT_DECONFIG ( _Out_ PWDF_USB_DEVICE_SELECT_CONFIG_PARAMS  Params)

Definition at line 680 of file wdfusb.h.

683{
685
688}
_In_ WDFIOTARGET _In_ PWDF_REQUEST_COMPLETION_PARAMS Params
Definition: wdfrequest.h:308
struct _WDF_USB_DEVICE_SELECT_CONFIG_PARAMS WDF_USB_DEVICE_SELECT_CONFIG_PARAMS

◆ WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_INIT_INTERFACES_DESCRIPTORS()

FORCEINLINE VOID WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_INIT_INTERFACES_DESCRIPTORS ( _Out_ PWDF_USB_DEVICE_SELECT_CONFIG_PARAMS  Params,
_In_ PUSB_CONFIGURATION_DESCRIPTOR  ConfigDescriptor,
_In_ PUSB_INTERFACE_DESCRIPTOR InterfaceDescriptors,
_In_ ULONG  NumInterfaceDescriptors 
)

Definition at line 647 of file wdfusb.h.

653{
655
658 Params->Types.Descriptor.ConfigurationDescriptor = ConfigDescriptor;
659 Params->Types.Descriptor.InterfaceDescriptors = InterfaceDescriptors;
660 Params->Types.Descriptor.NumInterfaceDescriptors = NumInterfaceDescriptors;
661}

◆ WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_INIT_MULTIPLE_INTERFACES()

FORCEINLINE VOID WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_INIT_MULTIPLE_INTERFACES ( _Out_ PWDF_USB_DEVICE_SELECT_CONFIG_PARAMS  Params,
_In_opt_ UCHAR  NumberInterfaces,
_In_opt_ PWDF_USB_INTERFACE_SETTING_PAIR  SettingPairs 
)

Definition at line 624 of file wdfusb.h.

629{
631
633
634 if (SettingPairs != NULL && NumberInterfaces != 0) {
636
637 Params->Types.MultiInterface.NumberInterfaces = NumberInterfaces;
638 Params->Types.MultiInterface.Pairs = SettingPairs;
639 }
640 else {
642 }
643}
#define NULL
Definition: types.h:112

◆ WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_INIT_SINGLE_INTERFACE()

FORCEINLINE VOID WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_INIT_SINGLE_INTERFACE ( _Out_ PWDF_USB_DEVICE_SELECT_CONFIG_PARAMS  Params)

◆ WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_INIT_URB()

FORCEINLINE VOID WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_INIT_URB ( _Out_ PWDF_USB_DEVICE_SELECT_CONFIG_PARAMS  Params,
_In_ PURB  Urb 
)

Definition at line 665 of file wdfusb.h.

669{
671
674 Params->Types.Urb.Urb = Urb;
675}

◆ WDF_USB_INTERFACE_SELECT_SETTING_PARAMS_INIT_DESCRIPTOR()

FORCEINLINE VOID WDF_USB_INTERFACE_SELECT_SETTING_PARAMS_INIT_DESCRIPTOR ( _Out_ PWDF_USB_INTERFACE_SELECT_SETTING_PARAMS  Params,
_In_ PUSB_INTERFACE_DESCRIPTOR  Interface 
)

Definition at line 735 of file wdfusb.h.

739{
741
744 Params->Types.Descriptor.InterfaceDescriptor = Interface;
745}
_In_ WDFUSBINTERFACE Interface
Definition: wdfusb.h:2489
struct _WDF_USB_INTERFACE_SELECT_SETTING_PARAMS WDF_USB_INTERFACE_SELECT_SETTING_PARAMS

◆ WDF_USB_INTERFACE_SELECT_SETTING_PARAMS_INIT_SETTING()

FORCEINLINE VOID WDF_USB_INTERFACE_SELECT_SETTING_PARAMS_INIT_SETTING ( _Out_ PWDF_USB_INTERFACE_SELECT_SETTING_PARAMS  Params,
_In_ UCHAR  SettingIndex 
)

Definition at line 763 of file wdfusb.h.

◆ WDF_USB_INTERFACE_SELECT_SETTING_PARAMS_INIT_URB()

FORCEINLINE VOID WDF_USB_INTERFACE_SELECT_SETTING_PARAMS_INIT_URB ( _Out_ PWDF_USB_INTERFACE_SELECT_SETTING_PARAMS  Params,
_In_ PURB  Urb 
)

Definition at line 749 of file wdfusb.h.

◆ WDF_USB_PIPE_DIRECTION_IN()

FORCEINLINE BOOLEAN WDF_USB_PIPE_DIRECTION_IN ( _In_ UCHAR  EndpointAddress)

Definition at line 834 of file wdfusb.h.

837{
838 //
839 // If the high bit is set, we have an IN pipe
840 //
841 return (EndpointAddress & USB_ENDPOINT_DIRECTION_MASK) ? TRUE : FALSE;
842}
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
#define USB_ENDPOINT_DIRECTION_MASK
Definition: usb100.h:73

◆ WDF_USB_PIPE_DIRECTION_OUT()

FORCEINLINE BOOLEAN WDF_USB_PIPE_DIRECTION_OUT ( _In_ UCHAR  EndpointAddress)

Definition at line 846 of file wdfusb.h.

849{
850 //
851 // If the high bit is clear, we have an OUT pipe
852 //
853 return (EndpointAddress & USB_ENDPOINT_DIRECTION_MASK) == 0x00 ? TRUE : FALSE;
854}

◆ WDF_USB_PIPE_INFORMATION_INIT()

FORCEINLINE VOID WDF_USB_PIPE_INFORMATION_INIT ( _Out_ PWDF_USB_PIPE_INFORMATION  Info)

Definition at line 823 of file wdfusb.h.

826{
828
829 Info->Size = sizeof(WDF_USB_PIPE_INFORMATION);
830}
_Must_inspect_result_ _In_ WDFCHILDLIST _In_ PWDF_CHILD_LIST_ITERATOR _Out_ WDFDEVICE _Inout_opt_ PWDF_CHILD_RETRIEVE_INFO Info
Definition: wdfchildlist.h:690
struct _WDF_USB_PIPE_INFORMATION WDF_USB_PIPE_INFORMATION

◆ WdfUsbTargetDeviceGetIoTarget()

FORCEINLINE WDFIOTARGET WdfUsbTargetDeviceGetIoTarget ( _In_ WDFUSBDEVICE  UsbDevice)

Definition at line 478 of file wdfusb.h.

481{
482 return (WDFIOTARGET) UsbDevice;
483}

◆ WdfUsbTargetPipeGetIoTarget()

FORCEINLINE WDFIOTARGET WdfUsbTargetPipeGetIoTarget ( _In_ WDFUSBPIPE  Pipe)

Definition at line 777 of file wdfusb.h.

780{
781 return (WDFIOTARGET) Pipe;
782}