ReactOS  0.4.15-dev-2701-g34593d9
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_ (PASSIVE_LEVEL) FORCEINLINE NTSTATUS WdfUsbTargetDeviceCreate(_In_ WDFDEVICE Device
 
_Must_inspect_result_ _IRQL_requires_max_ (DISPATCH_LEVEL) FORCEINLINE NTSTATUS WdfUsbTargetDeviceRetrieveInformation(_In_ WDFUSBDEVICE UsbDevice
 
_Must_inspect_result_ _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS _In_reads_ (_Inexpressible_("union bug in SAL")) PURB Urb)
 
_Must_inspect_result_ _In_ CONST GUID _In_ ULONG _When_ (CapabilityBufferLength==0, _Out_opt_) _When_(CapabilityBufferLength !=0 &&ResultLength
 
_Must_inspect_result_ _In_ CONST GUID _In_ ULONG _Out_writes_bytes_ (CapabilityBufferLength)) _When_(CapabilityBufferLength !=0 &&ResultLength !
 
_Must_inspect_result_ _In_ CONST GUID _In_ ULONG _Out_writes_bytes_to_opt_ (CapabilityBufferLength, *ResultLength)) PVOID CapabilityBuffer
 
_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 _Out_ WDFMEMORY _Outptr_opt_result_bytebuffer_ (sizeof(URB)) PURB *Urb)
 
_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_

_In_ DWORD _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:
{
_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:1331
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS RequestOptions
Definition: wdfusb.h:1070
#define WdfFunctions
Definition: wdf.h:66
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST Request
Definition: wdfusb.h:1070
_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:1953
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_In_ WDFUSBPIPE Pipe
Definition: wdfusb.h:1741

Definition at line 1953 of file wdfusb.h.

◆ BytesTransferred

Initial value:
{
_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:1331
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS _In_ PWDF_USB_CONTROL_SETUP_PACKET SetupPacket
Definition: wdfusb.h:1331
_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:1331
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS RequestOptions
Definition: wdfusb.h:1070
#define WdfFunctions
Definition: wdf.h:66
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST Request
Definition: wdfusb.h:1070
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFUSBDEVICE * UsbDevice
Definition: wdfusb.h:901

Definition at line 1331 of file wdfusb.h.

◆ BytesWritten

Initial value:
{
_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:1331
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS RequestOptions
Definition: wdfusb.h:1070
#define WdfFunctions
Definition: wdf.h:66
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST Request
Definition: wdfusb.h:1070
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_In_ WDFUSBPIPE Pipe
Definition: wdfusb.h:1741
_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:1871

Definition at line 1871 of file wdfusb.h.

◆ CapabilityBufferLength

◆ CapabilityType

◆ Config

Initial value:
{
return ((PFN_WDFUSBTARGETPIPECONFIGCONTINUOUSREADER) WdfFunctions[WdfUsbTargetPipeConfigContinuousReaderTableIndex])(WdfDriverGlobals, Pipe, Config)
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_USB_DEVICE_CREATE_CONFIG Config
Definition: wdfusb.h:936
#define WdfFunctions
Definition: wdf.h:66
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_In_ WDFUSBPIPE Pipe
Definition: wdfusb.h:1741

Definition at line 936 of file wdfusb.h.

◆ ConfigDescriptor

◆ ConfigDescriptorLength

Initial value:
{
_Must_inspect_result_ _In_ WDFUSBDEVICE _Out_writes_bytes_to_opt_ ConfigDescriptorLength PVOID _Inout_ PUSHORT ConfigDescriptorLength
Definition: wdfusb.h:1036
#define WdfFunctions
Definition: wdf.h:66
_Must_inspect_result_ _In_ WDFUSBDEVICE _Out_writes_bytes_to_opt_ ConfigDescriptorLength PVOID ConfigDescriptor
Definition: wdfusb.h:1036
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFUSBDEVICE * UsbDevice
Definition: wdfusb.h:901

Definition at line 1036 of file wdfusb.h.

◆ Context

typedef _In_ WDFMEMORY _In_ size_t _In_ WDFCONTEXT Context

Definition at line 381 of file wdfusb.h.

◆ CurrentFrameNumber

Initial value:
{
#define WdfFunctions
Definition: wdf.h:66
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFUSBDEVICE * UsbDevice
Definition: wdfusb.h:901
_Must_inspect_result_ _In_ WDFUSBDEVICE _Out_ PULONG CurrentFrameNumber
Definition: wdfusb.h:1300

Definition at line 1300 of file wdfusb.h.

◆ Device

typedef _Must_inspect_result_ _In_ WDFDEVICE Device

Definition at line 901 of file wdfusb.h.

◆ EndpointIndex

Definition at line 2422 of file wdfusb.h.

◆ EndpointInfo

Initial value:
{
#define WdfFunctions
Definition: wdf.h:66
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_In_ WDFUSBINTERFACE UsbInterface
Definition: wdfusb.h:2276
_In_ WDFUSBINTERFACE _In_ UCHAR _In_ UCHAR _Out_ PWDF_USB_PIPE_INFORMATION EndpointInfo
Definition: wdfusb.h:2422
_In_ WDFUSBINTERFACE _In_ UCHAR _In_ UCHAR EndpointIndex
Definition: wdfusb.h:2422
_In_ WDFUSBINTERFACE _In_ UCHAR SettingIndex
Definition: wdfusb.h:2300

Definition at line 2422 of file wdfusb.h.

◆ Information

Initial value:
{
#define WdfFunctions
Definition: wdf.h:66
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFUSBDEVICE * UsbDevice
Definition: wdfusb.h:901
_Must_inspect_result_ _In_ WDFUSBDEVICE _Out_ PWDF_USB_DEVICE_INFORMATION Information
Definition: wdfusb.h:975

Definition at line 975 of file wdfusb.h.

◆ Interface

typedef _In_ WDFUSBINTERFACE Interface

Definition at line 2489 of file wdfusb.h.

◆ InterfaceDescriptor

Initial value:
{
_In_ WDFUSBINTERFACE _In_ UCHAR _Out_ PUSB_INTERFACE_DESCRIPTOR InterfaceDescriptor
Definition: wdfusb.h:2329
#define WdfFunctions
Definition: wdf.h:66
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_In_ WDFUSBINTERFACE UsbInterface
Definition: wdfusb.h:2276
_In_ WDFUSBINTERFACE _In_ UCHAR SettingIndex
Definition: wdfusb.h:2300

Definition at line 2329 of file wdfusb.h.

◆ InterfaceIndex

Initial value:
{
_In_ WDFUSBDEVICE _In_ UCHAR InterfaceIndex
Definition: wdfusb.h:2459
#define WdfFunctions
Definition: wdf.h:66
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFUSBDEVICE * UsbDevice
Definition: wdfusb.h:901

Definition at line 2459 of file wdfusb.h.

◆ LangID

Initial value:
{
_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:1075
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS RequestOptions
Definition: wdfusb.h:1070
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_writes_opt_ NumCharacters PUSHORT String
Definition: wdfusb.h:1075
#define WdfFunctions
Definition: wdf.h:66
_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:1075
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST Request
Definition: wdfusb.h:1070
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFUSBDEVICE * UsbDevice
Definition: wdfusb.h:901
_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:1075

Definition at line 1075 of file wdfusb.h.

◆ Memory

_Must_inspect_result_ _In_ WDFREQUEST _In_ WDFMEMORY Memory

Definition at line 1168 of file wdfusb.h.

◆ MemoryDescriptor

◆ NumberOfIsochPackets

◆ NumBytesTransferred

typedef _In_ WDFMEMORY _In_ size_t NumBytesTransferred

Definition at line 381 of file wdfusb.h.

◆ NumCharacters

◆ Offset

Definition at line 1168 of file wdfusb.h.

◆ Params

Initial value:
{
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Inout_ PWDF_USB_DEVICE_SELECT_CONFIG_PARAMS Params
Definition: wdfusb.h:1240
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES PipeAttributes
Definition: wdfusb.h:1240
#define WdfFunctions
Definition: wdf.h:66
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFUSBDEVICE * UsbDevice
Definition: wdfusb.h:901

Definition at line 1240 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:1429

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 2538 of file wdfusb.h.

◆ PipeInfo

Initial value:
{
#define WdfFunctions
Definition: wdf.h:66
_In_ WDFUSBINTERFACE _In_ UCHAR PipeIndex
Definition: wdfusb.h:2538
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_In_ WDFUSBINTERFACE UsbInterface
Definition: wdfusb.h:2276
_In_ WDFUSBINTERFACE _In_ UCHAR _Out_opt_ PWDF_USB_PIPE_INFORMATION PipeInfo
Definition: wdfusb.h:2538

Definition at line 2538 of file wdfusb.h.

◆ PipeInformation

Initial value:
{
#define WdfFunctions
Definition: wdf.h:66
_In_ WDFUSBPIPE _Out_ PWDF_USB_PIPE_INFORMATION PipeInformation
Definition: wdfusb.h:1741
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_In_ WDFUSBPIPE Pipe
Definition: wdfusb.h:1741

Definition at line 1741 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 1996 of file wdfusb.h.

◆ ReadOffset

Initial value:
{
#define WdfFunctions
Definition: wdf.h:66
_Must_inspect_result_ _In_ WDFUSBPIPE _In_ WDFREQUEST _In_opt_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET ReadOffset
Definition: wdfusb.h:1996
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST Request
Definition: wdfusb.h:1070
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_Must_inspect_result_ _In_ WDFUSBPIPE _In_ WDFREQUEST _In_opt_ WDFMEMORY ReadMemory
Definition: wdfusb.h:1996
_In_ WDFUSBPIPE Pipe
Definition: wdfusb.h:1741

Definition at line 1996 of file wdfusb.h.

◆ Request

Initial value:
{
return ((PFN_WDFUSBTARGETDEVICEFORMATREQUESTFORCYCLEPORT) WdfFunctions[WdfUsbTargetDeviceFormatRequestForCyclePortTableIndex])(WdfDriverGlobals, UsbDevice, Request)
#define WdfFunctions
Definition: wdf.h:66
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST Request
Definition: wdfusb.h:1070
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFUSBDEVICE * UsbDevice
Definition: wdfusb.h:901

Definition at line 1070 of file wdfusb.h.

◆ RequestOptions

Initial value:
{
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS RequestOptions
Definition: wdfusb.h:1070
#define WdfFunctions
Definition: wdf.h:66
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST Request
Definition: wdfusb.h:1070
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_In_ WDFUSBPIPE Pipe
Definition: wdfusb.h:1741

Definition at line 1070 of file wdfusb.h.

◆ SettingIndex

_In_ WDFUSBINTERFACE _In_ UCHAR SettingIndex
Initial value:
{
#define WdfFunctions
Definition: wdf.h:66
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_In_ WDFUSBINTERFACE UsbInterface
Definition: wdfusb.h:2276
_In_ WDFUSBINTERFACE _In_ UCHAR SettingIndex
Definition: wdfusb.h:2300

Definition at line 2300 of file wdfusb.h.

◆ SetupPacket

Definition at line 1331 of file wdfusb.h.

◆ Status

typedef _In_ NTSTATUS Status

Definition at line 400 of file wdfusb.h.

◆ String

◆ StringIndex

Definition at line 1075 of file wdfusb.h.

◆ StringMemory

Definition at line 1121 of file wdfusb.h.

◆ StringMemoryAttributes

◆ TransferMemory

◆ TransferOffset

Initial value:
{
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS _In_ PWDF_USB_CONTROL_SETUP_PACKET SetupPacket
Definition: wdfusb.h:1331
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_ WDFREQUEST _In_ PWDF_USB_CONTROL_SETUP_PACKET _In_opt_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET TransferOffset
Definition: wdfusb.h:1378
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_ WDFREQUEST _In_ PWDF_USB_CONTROL_SETUP_PACKET _In_opt_ WDFMEMORY TransferMemory
Definition: wdfusb.h:1378
#define WdfFunctions
Definition: wdf.h:66
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST Request
Definition: wdfusb.h:1070
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFUSBDEVICE * UsbDevice
Definition: wdfusb.h:901

Definition at line 1378 of file wdfusb.h.

◆ UrbMemory

Definition at line 1572 of file wdfusb.h.

◆ UrbMemoryOffset

Initial value:
{
#define WdfFunctions
Definition: wdf.h:66
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST Request
Definition: wdfusb.h:1070
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_ WDFREQUEST _In_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET UrbMemoryOffset
Definition: wdfusb.h:1572
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFUSBDEVICE * UsbDevice
Definition: wdfusb.h:901
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_ WDFREQUEST _In_ WDFMEMORY UrbMemory
Definition: wdfusb.h:1572

Definition at line 1572 of file wdfusb.h.

◆ UsbDevice

_In_ WDFUSBDEVICE UsbDevice
Initial value:
{
_Must_inspect_result_ _In_ WDFDEVICE Device
Definition: wdfusb.h:901
#define WdfFunctions
Definition: wdf.h:66
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes
Definition: wdfusb.h:901
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFUSBDEVICE * UsbDevice
Definition: wdfusb.h:901

Definition at line 901 of file wdfusb.h.

◆ UsbDeviceDescriptor

Initial value:
{
#define WdfFunctions
Definition: wdf.h:66
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_In_ WDFUSBDEVICE _Out_ PUSB_DEVICE_DESCRIPTOR UsbDeviceDescriptor
Definition: wdfusb.h:1005
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFUSBDEVICE * UsbDevice
Definition: wdfusb.h:901

Definition at line 1005 of file wdfusb.h.

◆ UsbdStatus

Definition at line 400 of file wdfusb.h.

◆ UsbInterface

_In_ WDFUSBINTERFACE UsbInterface
Initial value:
{
#define PAGED_CODE_LOCKED()
Definition: kefuncs.h:1429

Definition at line 2276 of file wdfusb.h.

◆ UsbPipe

typedef _In_ WDFUSBPIPE UsbPipe

Definition at line 2572 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 1914 of file wdfusb.h.

◆ WriteOffset

Initial value:
{
_Must_inspect_result_ _In_ WDFUSBPIPE _In_ WDFREQUEST _In_opt_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET WriteOffset
Definition: wdfusb.h:1914
#define WdfFunctions
Definition: wdf.h:66
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST Request
Definition: wdfusb.h:1070
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_In_ WDFUSBPIPE Pipe
Definition: wdfusb.h:1741
_Must_inspect_result_ _In_ WDFUSBPIPE _In_ WDFREQUEST _In_opt_ WDFMEMORY WriteMemory
Definition: wdfusb.h:1914

Definition at line 1914 of file wdfusb.h.

Enumeration Type Documentation

◆ _WDF_USB_BMREQUEST_DIRECTION

Enumerator
BmRequestHostToDevice 
BmRequestDeviceToHost 

Definition at line 99 of file wdfusb.h.

99  {
enum _WDF_USB_BMREQUEST_DIRECTION WDF_USB_BMREQUEST_DIRECTION
#define BMREQUEST_DEVICE_TO_HOST
Definition: wdfusb.h:55
#define BMREQUEST_HOST_TO_DEVICE
Definition: wdfusb.h:51

◆ _WDF_USB_BMREQUEST_RECIPIENT

Enumerator
BmRequestToDevice 
BmRequestToInterface 
BmRequestToEndpoint 
BmRequestToOther 

Definition at line 110 of file wdfusb.h.

110  {
#define BMREQUEST_TO_OTHER
Definition: wdfusb.h:83
#define BMREQUEST_TO_INTERFACE
Definition: wdfusb.h:75
#define BMREQUEST_TO_ENDPOINT
Definition: wdfusb.h:79
enum _WDF_USB_BMREQUEST_RECIPIENT WDF_USB_BMREQUEST_RECIPIENT
#define BMREQUEST_TO_DEVICE
Definition: wdfusb.h:71

◆ _WDF_USB_BMREQUEST_TYPE

Enumerator
BmRequestStandard 
BmRequestClass 
BmRequestVendor 

Definition at line 104 of file wdfusb.h.

104  {
#define BMREQUEST_VENDOR
Definition: wdfusb.h:67
enum _WDF_USB_BMREQUEST_TYPE WDF_USB_BMREQUEST_TYPE
#define BMREQUEST_STANDARD
Definition: wdfusb.h:59
#define BMREQUEST_CLASS
Definition: wdfusb.h:63

◆ _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.

◆ _WDF_USB_PIPE_TYPE

Enumerator
WdfUsbPipeTypeInvalid 
WdfUsbPipeTypeControl 
WdfUsbPipeTypeIsochronous 
WdfUsbPipeTypeBulk 
WdfUsbPipeTypeInterrupt 

Definition at line 117 of file wdfusb.h.

◆ _WDF_USB_REQUEST_TYPE

Enumerator
WdfUsbRequestTypeInvalid 
WdfUsbRequestTypeNoFormat 
WdfUsbRequestTypeDeviceString 
WdfUsbRequestTypeDeviceControlTransfer 
WdfUsbRequestTypeDeviceUrb 
WdfUsbRequestTypePipeWrite 
WdfUsbRequestTypePipeRead 
WdfUsbRequestTypePipeAbort 
WdfUsbRequestTypePipeReset 
WdfUsbRequestTypePipeUrb 

Definition at line 86 of file wdfusb.h.

◆ _WdfUsbTargetDeviceSelectConfigType

Enumerator
WdfUsbTargetDeviceSelectConfigTypeInvalid 
WdfUsbTargetDeviceSelectConfigTypeDeconfig 
WdfUsbTargetDeviceSelectConfigTypeSingleInterface 
WdfUsbTargetDeviceSelectConfigTypeMultiInterface 
WdfUsbTargetDeviceSelectConfigTypeInterfacesPairs 
WdfUsbTargetDeviceSelectConfigTypeInterfacesDescriptor 
WdfUsbTargetDeviceSelectConfigTypeUrb 

Definition at line 125 of file wdfusb.h.

◆ _WdfUsbTargetDeviceSelectSettingType

Enumerator
WdfUsbInterfaceSelectSettingTypeDescriptor 
WdfUsbInterfaceSelectSettingTypeSetting 
WdfUsbInterfaceSelectSettingTypeUrb 

Definition at line 135 of file wdfusb.h.

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  )

◆ _In_reads_()

_Must_inspect_result_ _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS _In_reads_ ( _Inexpressible_("union bug in SAL")  )

Definition at line 1553 of file wdfusb.h.

1556 {
1557  return ((PFN_WDFUSBTARGETDEVICESENDURBSYNCHRONOUSLY) WdfFunctions[WdfUsbTargetDeviceSendUrbSynchronouslyTableIndex])(WdfDriverGlobals, UsbDevice, Request, RequestOptions, Urb);
1558 }
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS RequestOptions
Definition: wdfusb.h:1070
#define WdfFunctions
Definition: wdf.h:66
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST Request
Definition: wdfusb.h:1070
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFUSBDEVICE * UsbDevice
Definition: wdfusb.h:901

◆ _IRQL_requires_max_() [1/2]

_Must_inspect_result_ _IRQL_requires_max_ ( PASSIVE_LEVEL  )

Definition at line 1425 of file wdfusb.h.

1432 {
1433  return ((PFN_WDFUSBTARGETDEVICEISCONNECTEDSYNCHRONOUS) WdfFunctions[WdfUsbTargetDeviceIsConnectedSynchronousTableIndex])(WdfDriverGlobals, UsbDevice);
1434 }
#define WdfFunctions
Definition: wdf.h:66
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFUSBDEVICE * UsbDevice
Definition: wdfusb.h:901

◆ _IRQL_requires_max_() [2/2]

_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 }
#define WdfFunctions
Definition: wdf.h:66
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFUSBDEVICE * UsbDevice
Definition: wdfusb.h:901

◆ _Out_writes_bytes_()

_Must_inspect_result_ _In_ CONST GUID _In_ ULONG _Out_writes_bytes_ ( CapabilityBufferLength  ) &&
pure virtual

◆ _Out_writes_bytes_to_opt_()

_Must_inspect_result_ _In_ CONST GUID _In_ ULONG _Out_writes_bytes_to_opt_ ( CapabilityBufferLength  ,
ResultLength 
)

◆ _Outptr_opt_result_bytebuffer_() [1/2]

_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFMEMORY _Outptr_opt_result_bytebuffer_ ( sizeof(URB )

Definition at line 1680 of file wdfusb.h.

1683 {
1684  return ((PFN_WDFUSBTARGETDEVICECREATEURB) WdfFunctions[WdfUsbTargetDeviceCreateUrbTableIndex])(WdfDriverGlobals, UsbDevice, Attributes, UrbMemory, Urb);
1685 }
#define WdfFunctions
Definition: wdf.h:66
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes
Definition: wdfusb.h:901
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFUSBDEVICE * UsbDevice
Definition: wdfusb.h:901
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_ WDFREQUEST _In_ WDFMEMORY UrbMemory
Definition: wdfusb.h:1572

◆ _Outptr_opt_result_bytebuffer_() [2/2]

Definition at line 1723 of file wdfusb.h.

1726 {
1728 }
#define WdfFunctions
Definition: wdf.h:66
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes
Definition: wdfusb.h:901
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFUSBDEVICE * UsbDevice
Definition: wdfusb.h:901
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ ULONG NumberOfIsochPackets
Definition: wdfusb.h:1699
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_ WDFREQUEST _In_ WDFMEMORY UrbMemory
Definition: wdfusb.h:1572

◆ _When_() [1/2]

_Must_inspect_result_ _In_ CONST GUID _In_ ULONG _When_ ( CapabilityBufferLength  = = 0,
_Out_opt_   
) &&
pure virtual

◆ _When_() [2/2]

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_ WDFUSBDEVICE _In_ CONST GUID * CapabilityType
Definition: wdfusb.h:1611
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_ CONST GUID _In_ ULONG CapabilityBufferLength
Definition: wdfusb.h:1611
#define WdfFunctions
Definition: wdf.h:66
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFUSBDEVICE * UsbDevice
Definition: wdfusb.h:901
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG _Out_ PULONG ResultLength
Definition: wdfdevice.h:3776

◆ 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 }
struct _WDF_USB_CONTINUOUS_READER_CONFIG WDF_USB_CONTINUOUS_READER_CONFIG
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_CHILD_LIST_CONFIG Config
Definition: wdfchildlist.h:474
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262

◆ 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:1548
WDF_EXTERN_C_START typedef _In_ WDFDEVICE _In_ WDFCONTEXT _In_ WDF_DMA_DIRECTION Direction
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST Request
Definition: wdfusb.h:1070
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
Definition: wdfregistry.h:406
_In_ WDFCOLLECTION _In_ ULONG Index
unsigned char BYTE
Definition: xxhash.c:193
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262

◆ 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 }
_In_ NDIS_HANDLE _In_ PNDIS_PACKET Packet
Definition: ndis.h:1548
WDF_EXTERN_C_START typedef _In_ WDFDEVICE _In_ WDFCONTEXT _In_ WDF_DMA_DIRECTION Direction
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST Request
Definition: wdfusb.h:1070
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
Definition: wdfregistry.h:406
_In_ WDFCOLLECTION _In_ ULONG Index
unsigned char BYTE
Definition: xxhash.c:193
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262

◆ 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 }
_In_ NDIS_HANDLE _In_ PNDIS_PACKET Packet
Definition: ndis.h:1548
#define USB_REQUEST_CLEAR_FEATURE
Definition: usb100.h:79
_In_ WDFCOLLECTION _In_ ULONG Index
unsigned char BYTE
Definition: xxhash.c:193
#define USB_REQUEST_SET_FEATURE
Definition: usb100.h:80
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262

◆ 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 }
_In_ NDIS_HANDLE _In_ PNDIS_PACKET Packet
Definition: ndis.h:1548
_In_ WDFCOLLECTION _In_ ULONG Index
unsigned char BYTE
Definition: xxhash.c:193
#define USB_REQUEST_GET_STATUS
Definition: usb100.h:78
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262

◆ 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 }
_In_ NDIS_HANDLE _In_ PNDIS_PACKET Packet
Definition: ndis.h:1548
WDF_EXTERN_C_START typedef _In_ WDFDEVICE _In_ WDFCONTEXT _In_ WDF_DMA_DIRECTION Direction
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST Request
Definition: wdfusb.h:1070
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
Definition: wdfregistry.h:406
_In_ WDFCOLLECTION _In_ ULONG Index
unsigned char BYTE
Definition: xxhash.c:193
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262

◆ 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
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_CHILD_LIST_CONFIG Config
Definition: wdfchildlist.h:474
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262

◆ 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
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262

◆ 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:306
struct _WDF_USB_DEVICE_SELECT_CONFIG_PARAMS WDF_USB_DEVICE_SELECT_CONFIG_PARAMS
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262

◆ 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 }
_In_ WDFIOTARGET _In_ PWDF_REQUEST_COMPLETION_PARAMS Params
Definition: wdfrequest.h:306
_Must_inspect_result_ _In_ WDFUSBDEVICE _Out_writes_bytes_to_opt_ ConfigDescriptorLength PVOID ConfigDescriptor
Definition: wdfusb.h:1036
struct _WDF_USB_DEVICE_SELECT_CONFIG_PARAMS WDF_USB_DEVICE_SELECT_CONFIG_PARAMS
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262

◆ 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 }
_In_ WDFIOTARGET _In_ PWDF_REQUEST_COMPLETION_PARAMS Params
Definition: wdfrequest.h:306
struct _WDF_USB_DEVICE_SELECT_CONFIG_PARAMS WDF_USB_DEVICE_SELECT_CONFIG_PARAMS
#define NULL
Definition: types.h:112
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262

◆ 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)

Definition at line 612 of file wdfusb.h.

615 {
617 
620 }
_In_ WDFIOTARGET _In_ PWDF_REQUEST_COMPLETION_PARAMS Params
Definition: wdfrequest.h:306
struct _WDF_USB_DEVICE_SELECT_CONFIG_PARAMS WDF_USB_DEVICE_SELECT_CONFIG_PARAMS
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262

◆ 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 }
_In_ WDFIOTARGET _In_ PWDF_REQUEST_COMPLETION_PARAMS Params
Definition: wdfrequest.h:306
struct _WDF_USB_DEVICE_SELECT_CONFIG_PARAMS WDF_USB_DEVICE_SELECT_CONFIG_PARAMS
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262

◆ 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_ WDFIOTARGET _In_ PWDF_REQUEST_COMPLETION_PARAMS Params
Definition: wdfrequest.h:306
_In_ WDFUSBINTERFACE Interface
Definition: wdfusb.h:2489
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262
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.

767 {
769 
772  Params->Types.Interface.SettingIndex = SettingIndex;
773 }
_In_ WDFIOTARGET _In_ PWDF_REQUEST_COMPLETION_PARAMS Params
Definition: wdfrequest.h:306
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262
struct _WDF_USB_INTERFACE_SELECT_SETTING_PARAMS WDF_USB_INTERFACE_SELECT_SETTING_PARAMS
_In_ WDFUSBINTERFACE _In_ UCHAR SettingIndex
Definition: wdfusb.h:2300

◆ 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.

753 {
755 
758  Params->Types.Urb.Urb = Urb;
759 }
_In_ WDFIOTARGET _In_ PWDF_REQUEST_COMPLETION_PARAMS Params
Definition: wdfrequest.h:306
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262
struct _WDF_USB_INTERFACE_SELECT_SETTING_PARAMS WDF_USB_INTERFACE_SELECT_SETTING_PARAMS

◆ 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 USB_ENDPOINT_DIRECTION_MASK
Definition: usb100.h:73
#define FALSE
Definition: types.h:117

◆ 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 }
#define TRUE
Definition: types.h:120
#define USB_ENDPOINT_DIRECTION_MASK
Definition: usb100.h:73
#define FALSE
Definition: types.h:117

◆ 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:683
struct _WDF_USB_PIPE_INFORMATION WDF_USB_PIPE_INFORMATION
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262

◆ WdfUsbTargetDeviceGetIoTarget()

FORCEINLINE WDFIOTARGET WdfUsbTargetDeviceGetIoTarget ( _In_ WDFUSBDEVICE  UsbDevice)

Definition at line 478 of file wdfusb.h.

481 {
482  return (WDFIOTARGET) UsbDevice;
483 }
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFUSBDEVICE * UsbDevice
Definition: wdfusb.h:901

◆ WdfUsbTargetPipeGetIoTarget()

FORCEINLINE WDFIOTARGET WdfUsbTargetPipeGetIoTarget ( _In_ WDFUSBPIPE  Pipe)

Definition at line 777 of file wdfusb.h.

780 {
781  return (WDFIOTARGET) Pipe;
782 }
_In_ WDFUSBPIPE Pipe
Definition: wdfusb.h:1741