25 #include "FxUsbPipeAPI.tmh" 36 WDFEXPORT(WdfUsbTargetPipeGetInformation)(
130 WDFEXPORT(WdfUsbTargetPipeSetNoMaximumPacketSizeCheck)(
149 "WDFUSBPIPE %p",
Pipe);
158 WDFEXPORT(WdfUsbTargetPipeWriteSynchronously)(
177 "WDFUSBPIPE %p",
Pipe);
192 WDFEXPORT(WdfUsbTargetPipeFormatRequestForWrite)(
208 "WDFUSBPIPE %p, WDFREQUEST %p, WDFMEMORY %p",
223 WDFEXPORT(WdfUsbTargetPipeReadSynchronously)(
241 "WDFUSBPIPE %p",
Pipe);
258 WDFEXPORT(WdfUsbTargetPipeFormatRequestForRead)(
275 "WDFUSBPIPE %p, WDFREQUEST %p, WDFMEMORY %p",
292 WDFEXPORT(WdfUsbTargetPipeConfigContinuousReader)(
320 "Config %p incorrect size %d, expected %d %!STATUS!",
331 "NULL EvtUsbTargetPipeReadComplete not allowed %!STATUS!",
status);
335 if (
Config->TransferLength == 0) {
338 "TransferLength of 0 not allowed %!STATUS!",
status);
349 "HeaderLength + TransferLength overflow %!STATUS!",
status);
360 "HeaderLength + TransferLength + TrailerLength overflow %!STATUS!",
385 "WDFUSBPIPE %p type %!WDF_USB_PIPE_TYPE!, only bulk or interrupt " 386 "pipes can be configured for continous readers, %!STATUS!",
397 "WDFUSBPIPE %p, wrong direction for continuous reader, %!STATUS!",
407 "TransferLength %I64d not a valid transer length (not integral of max " 408 "packet size %d) %!STATUS!",
Config->TransferLength,
422 WDFEXPORT(WdfUsbTargetPipeAbortSynchronously)(
455 "Failed to initialize FxSyncRequest");
470 "Invalid request options");
478 "WDFUSBPIPE %p, WDFREQUEST %p being submitted",
479 Pipe,
request.m_TrueRequest->GetTraceObjectHandle());
494 WDFEXPORT(WdfUsbTargetPipeFormatRequestForAbort)(
527 "Pipe %p, Request %p, status %!STATUS!",
537 WDFEXPORT(WdfUsbTargetPipeResetSynchronously)(
570 "Failed to initialize FxSyncRequest");
575 "WDFUSBPIPE %p reset",
Pipe);
585 "Invalid request options");
594 "WDFUSBPIPE %p, WDFREQUEST %p being submitted",
595 Pipe,
request.m_TrueRequest->GetTraceObjectHandle());
607 "WDFUSBPIPE %p reset, %!STATUS!",
Pipe,
status);
616 WDFEXPORT(WdfUsbTargetPipeFormatRequestForReset)(
649 "Pipe %p, Request %p = 0x%x",
659 WDFEXPORT(WdfUsbTargetPipeSendUrbSynchronously)(
694 "Failed to initialize FxSyncRequest");
699 "WDFUSBPIPE %p, Urb %p",
Pipe, Urb);
713 buf.SetBuffer(Urb, 0);
725 "WDFUSBPIPE %p, WDFREQUEST %p being submitted",
726 Pipe,
request.m_TrueRequest->GetTraceObjectHandle());
732 "WDFUSBPIPE %p, Urb %p, %!STATUS!",
742 WDFEXPORT(WdfUsbTargetPipeFormatRequestForUrb)(
772 "Pipe %p, Request %p, Memory %p",
798 "UrbMemory %p buffer size, %I64d, smaller then " 822 "Pipe %p, Request %p, Memory %p, status %!STATUS!",
831 WDFEXPORT(WdfUsbTargetPipeWdmGetPipeHandle)(
FxPointerNotNull(pFxDriverGlobals, PipeInformation)
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_opt_ PULONG_PTR BytesWritten
FxObjectHandleGetPtrAndGlobals(GetFxDriverGlobals(DriverGlobals), Pipe, FX_TYPE_IO_TARGET_USB_PIPE,(PVOID *) &pUsbPipe, &pFxDriverGlobals)
_Must_inspect_result_ NTSTATUS ValidateMemoryOffsets(__in_opt PWDFMEMORY_OFFSET Offsets)
_Must_inspect_result_ NTSTATUS FormatAbortRequest(__in FxRequestBase *Request)
_Must_inspect_result_ __in WDFUSBPIPE __in WDFREQUEST __in_opt WDFMEMORY ReadMemory
_Must_inspect_result_ __in WDFUSBPIPE __in_opt WDFREQUEST Request
_Must_inspect_result_ __in WDFUSBPIPE __in WDFREQUEST __in_opt WDFMEMORY __in_opt PWDFMEMORY_OFFSET ReadOffsets
static _Must_inspect_result_ NTSTATUS _FormatTransfer(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in WDFUSBPIPE Pipe, __in WDFREQUEST Request, __in_opt WDFMEMORY TransferMemory, __in_opt PWDFMEMORY_OFFSET TransferOffsets, __in ULONG Flags)
#define STATUS_INFO_LENGTH_MISMATCH
struct _WDF_USB_REQUEST_COMPLETION_PARAMS::@3683::@3689 PipeUrb
_Must_inspect_result_ __in WDFUSBPIPE __in_opt WDFREQUEST __in_opt PWDF_REQUEST_SEND_OPTIONS __in_xcount("union bug in SAL") PURB Urb)
static _Must_inspect_result_ NTSTATUS _SendTransfer(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in WDFUSBPIPE Pipe, __in_opt WDFREQUEST Request, __in_opt PWDF_REQUEST_SEND_OPTIONS RequestOptions, __in_opt PWDF_MEMORY_DESCRIPTOR MemoryDescriptor, __out_opt PULONG BytesTransferred, __in ULONG Flags)
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGIOTARGET, "WDFUSBPIPE %p", Pipe)
FxObjectHandleGetPtr(GetFxDriverGlobals(DriverGlobals), Pipe, FX_TYPE_IO_TARGET_USB_PIPE,(PVOID *) &pUsbPipe)
#define STATUS_INVALID_PARAMETER
__inline VOID SetNoCheckPacketSize(VOID)
#define USBD_TRANSFER_DIRECTION_IN
#define STATUS_INVALID_DEVICE_REQUEST
__inline BOOLEAN IsOutEndpoint(VOID)
_Must_inspect_result_ NTSTATUS SubmitSync(__in FxRequestBase *Request, __in_opt PWDF_REQUEST_SEND_OPTIONS Options=NULL, __out_opt PULONG Action=NULL)
_Must_inspect_result_ __in WDFUSBPIPE __in WDFREQUEST __in_opt WDFMEMORY __in_opt PWDFMEMORY_OFFSET WriteOffsets
_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
__in WDFUSBPIPE __out PWDF_USB_PIPE_INFORMATION PipeInformation
_Must_inspect_result_ __in WDFUSBPIPE __in_opt WDFREQUEST __in_opt PWDF_REQUEST_SEND_OPTIONS __in_opt PWDF_MEMORY_DESCRIPTOR __out_opt PULONG BytesRead
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_opt_ PULONG_PTR BytesRead
NTSTATUS __inline FxValidateRequestOptions(_In_ PFX_DRIVER_GLOBALS FxDriverGlobals, _In_ PWDF_REQUEST_SEND_OPTIONS Options, _In_opt_ FxRequestBase *Request=NULL)
FX_URB_TYPE GetUrbType(VOID)
_Must_inspect_result_ __in WDFUSBPIPE __in WDFREQUEST __in_opt WDFMEMORY WriteMemory
GLenum GLuint GLenum GLsizei const GLchar * buf
_Must_inspect_result_ NTSTATUS SubmitSyncRequestIgnoreTargetState(__in FxRequestBase *Request, __in_opt PWDF_REQUEST_SEND_OPTIONS RequestOptions)
_In_ WDFUSBPIPE _Out_ PWDF_USB_PIPE_INFORMATION PipeInformation
BOOLEAN IsType(__in WDF_USB_PIPE_TYPE Type)
__inline BOOLEAN IsInEndpoint(VOID)
#define TRACE_LEVEL_VERBOSE
VOID SetUsbType(__in WDF_USB_REQUEST_TYPE Type)
_Must_inspect_result_ __in WDFUSBPIPE __in_opt WDFREQUEST __in_opt PWDF_REQUEST_SEND_OPTIONS RequestOptions
_Must_inspect_result_ __in WDFUSBPIPE __in PWDF_USB_CONTINUOUS_READER_CONFIG Config
union _WDF_USB_REQUEST_COMPLETION_PARAMS::@3683 Parameters
VOID GetInformation(__out PWDF_USB_PIPE_INFORMATION PipeInformation)
_Must_inspect_result_ __in WDFUSBPIPE __in_opt WDFREQUEST __in_opt PWDF_REQUEST_SEND_OPTIONS __in_opt PWDF_MEMORY_DESCRIPTOR MemoryDescriptor
__drv_maxIRQL(DISPATCH_LEVEL) VOID WDFAPI WDFEXPORT(WdfUsbTargetPipeGetInformation)(__in PWDF_DRIVER_GLOBALS DriverGlobals
__inline NTSTATUS FxVerifierCheckIrqlLevel(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in KIRQL Irql)
_Must_inspect_result_ NTSTATUS ValidateTransferLength(__in size_t Length)
#define NT_SUCCESS(StatCode)
_Must_inspect_result_ __in WDFUSBPIPE __in_opt WDFREQUEST __in_opt PWDF_REQUEST_SEND_OPTIONS __in_opt PWDF_MEMORY_DESCRIPTOR __out_opt PULONG BytesWritten
PFX_DRIVER_GLOBALS pFxDriverGlobals
_Must_inspect_result_ NTSTATUS InitContinuousReader(__in PWDF_USB_CONTINUOUS_READER_CONFIG Config, __in size_t TotalBufferLength)
_Must_inspect_result_ _In_ WDFUSBPIPE _In_ WDFREQUEST _In_opt_ WDFMEMORY ReadMemory
WDF_USB_PIPE_TYPE GetType(VOID)
_Must_inspect_result_ NTSTATUS FxValidateObjectAttributes(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in PWDF_OBJECT_ATTRIBUTES Attributes, __in ULONG Flags=FX_VALIDATE_OPTION_NONE_SPECIFIED)
WDF_USB_REQUEST_COMPLETION_PARAMS m_UsbParameters
#define _Must_inspect_result_
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_CHILD_LIST_CONFIG Config
#define TRACE_LEVEL_ERROR
ULONG GetMaxPacketSize(VOID)
FxSyncRequest request(pFxDriverGlobals, &context, Request)
#define USBD_SHORT_TRANSFER_OK
NTSTATUS FxFormatUrbRequest(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in FxIoTarget *Target, __in FxRequestBase *Request, __in FxRequestBuffer *Buffer, __in FX_URB_TYPE FxUrbType, __drv_when(FxUrbType==FxUrbTypeUsbdAllocated, __in) __drv_when(FxUrbType !=FxUrbTypeUsbdAllocated, __in_opt) USBD_HANDLE UsbdHandle)
__inline FxRequestContext * GetContext(VOID)
USBD_PIPE_HANDLE WdmGetPipeHandle(VOID)
FxUsbPipeRequestContext context(FxUrbTypeLegacy)
_Must_inspect_result_ _In_ WDFUSBPIPE _In_ WDFREQUEST _In_opt_ WDFMEMORY WriteMemory
enum _WDF_USB_PIPE_TYPE WDF_USB_PIPE_TYPE
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG _In_opt_ PWDF_REQUEST_SEND_OPTIONS RequestOptions
_Must_inspect_result_ __in WDFUSBPIPE __in WDFREQUEST __in WDFMEMORY __in_opt PWDFMEMORY_OFFSET UrbOffsets
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_ WDFREQUEST _In_ WDFMEMORY UrbMemory
_Must_inspect_result_ NTSTATUS FormatResetRequest(__in FxRequestBase *Request)
__inline PFX_DRIVER_GLOBALS GetFxDriverGlobals(__in PWDF_DRIVER_GLOBALS DriverGlobals)
_Must_inspect_result_ __in WDFUSBPIPE __in WDFREQUEST __in WDFMEMORY UrbMemory
USBD_HANDLE GetUSBDHandle(VOID)
virtual size_t GetBufferSize(VOID)=0