ReactOS  0.4.15-dev-3297-g037c744
fxusbpipeapi.cpp File Reference
#include "fxusbpch.hpp"
#include "FxUsbPipeAPI.tmh"
Include dependency graph for fxusbpipeapi.cpp:

Go to the source code of this file.

Functions

 __drv_maxIRQL (DISPATCH_LEVEL) VOID WDFAPI WDFEXPORT(WdfUsbTargetPipeGetInformation)(__in PWDF_DRIVER_GLOBALS DriverGlobals
 
 FxObjectHandleGetPtrAndGlobals (GetFxDriverGlobals(DriverGlobals), Pipe, FX_TYPE_IO_TARGET_USB_PIPE,(PVOID *) &pUsbPipe, &pFxDriverGlobals)
 
 FxPointerNotNull (pFxDriverGlobals, PipeInformation)
 
pUsbPipe GetInformation (PipeInformation)
 
 FxObjectHandleGetPtr (GetFxDriverGlobals(DriverGlobals), Pipe, FX_TYPE_IO_TARGET_USB_PIPE,(PVOID *) &pUsbPipe)
 
return pUsbPipe IsInEndpoint ()
 
return pUsbPipe IsOutEndpoint ()
 
return pUsbPipe GetType ()
 
 DoTraceLevelMessage (pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGIOTARGET, "WDFUSBPIPE %p", Pipe)
 
pUsbPipe SetNoCheckPacketSize ()
 
_Must_inspect_result_ __drv_maxIRQL (PASSIVE_LEVEL) NTSTATUS WDFAPI WDFEXPORT(WdfUsbTargetPipeWriteSynchronously)(__in PWDF_DRIVER_GLOBALS DriverGlobals
 
 DoTraceLevelMessage (GetFxDriverGlobals(DriverGlobals), TRACE_LEVEL_VERBOSE, TRACINGIOTARGET, "WDFUSBPIPE %p", Pipe)
 
 DoTraceLevelMessage (GetFxDriverGlobals(DriverGlobals), TRACE_LEVEL_VERBOSE, TRACINGIOTARGET, "WDFUSBPIPE %p, WDFREQUEST %p, WDFMEMORY %p", Pipe, Request, WriteMemory)
 
 FxPointerNotNull (pFxDriverGlobals, Config)
 
 if (Config->Size !=sizeof(WDF_USB_CONTINUOUS_READER_CONFIG))
 
 if (Config->EvtUsbTargetPipeReadComplete==NULL)
 
 if (!NT_SUCCESS(status))
 
 if ((pUsbPipe->IsType(WdfUsbPipeTypeBulk)||pUsbPipe->IsType(WdfUsbPipeTypeInterrupt))==FALSE)
 
 if (pUsbPipe->IsOutEndpoint())
 
FxSyncRequest request (pFxDriverGlobals, &context, Request)
 
 DoTraceLevelMessage (pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGIOTARGET, "Pipe %p", Pipe)
 
 if (NT_SUCCESS(status))
 
 DoTraceLevelMessage (pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGIOTARGET, "WDFUSBPIPE %p, %!STATUS!", Pipe, status)
 
 DoTraceLevelMessage (pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGIOTARGET, "Pipe %p, Request %p", Pipe, Request)
 
 FxObjectHandleGetPtr (pFxDriverGlobals, Request, FX_TYPE_REQUEST,(PVOID *) &pRequest)
 
 DoTraceLevelMessage (pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGIOTARGET, "Pipe %p, Request %p, status %!STATUS!", Pipe, Request, status)
 
FxUsbPipeRequestContext context (FxUrbTypeLegacy)
 
 DoTraceLevelMessage (pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGIOTARGET, "WDFUSBPIPE %p reset", Pipe)
 
 DoTraceLevelMessage (pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGIOTARGET, "WDFUSBPIPE %p reset, %!STATUS!", Pipe, status)
 
 DoTraceLevelMessage (pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGIOTARGET, "Pipe %p, Request %p = 0x%x", Pipe, Request, status)
 
_Must_inspect_result_ __in WDFUSBPIPE __in_opt WDFREQUEST __in_opt PWDF_REQUEST_SEND_OPTIONS __in_xcount ("union bug in SAL") PURB Urb)
 
 DoTraceLevelMessage (pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGIOTARGET, "Pipe %p, Request %p, Memory %p", Pipe, Request, UrbMemory)
 
 FxObjectHandleGetPtr (pFxDriverGlobals, UrbMemory, IFX_TYPE_MEMORY,(PVOID *) &pMemory)
 
 if (UrbOffsets !=NULL &&UrbOffsets->BufferOffset > 0)
 
 if (bufferSize< sizeof(_URB_HEADER))
 
buf SetMemory (pMemory, UrbOffsets)
 
 DoTraceLevelMessage (pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGIOTARGET, "Pipe %p, Request %p, Memory %p, status %!STATUS!", Pipe, Request, UrbMemory, status)
 
return pUsbPipe WdmGetPipeHandle ()
 

Variables

__in WDFUSBPIPE Pipe
 
__in WDFUSBPIPE __out PWDF_USB_PIPE_INFORMATION PipeInformation
 
PFX_DRIVER_GLOBALS pFxDriverGlobals
 
FxUsbPipepUsbPipe
 
_Must_inspect_result_ __in WDFUSBPIPE __in_opt WDFREQUEST Request
 
_Must_inspect_result_ __in WDFUSBPIPE __in_opt WDFREQUEST __in_opt PWDF_REQUEST_SEND_OPTIONS RequestOptions
 
_Must_inspect_result_ __in WDFUSBPIPE __in_opt WDFREQUEST __in_opt PWDF_REQUEST_SEND_OPTIONS __in_opt PWDF_MEMORY_DESCRIPTOR MemoryDescriptor
 
_Must_inspect_result_ __in WDFUSBPIPE __in_opt WDFREQUEST __in_opt PWDF_REQUEST_SEND_OPTIONS __in_opt PWDF_MEMORY_DESCRIPTOR __out_opt PULONG BytesWritten
 
_Must_inspect_result_ __in WDFUSBPIPE __in WDFREQUEST __in_opt WDFMEMORY WriteMemory
 
_Must_inspect_result_ __in WDFUSBPIPE __in WDFREQUEST __in_opt WDFMEMORY __in_opt PWDFMEMORY_OFFSET WriteOffsets
 
_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 WDFUSBPIPE __in WDFREQUEST __in_opt WDFMEMORY ReadMemory
 
_Must_inspect_result_ __in WDFUSBPIPE __in WDFREQUEST __in_opt WDFMEMORY __in_opt PWDFMEMORY_OFFSET ReadOffsets
 
_Must_inspect_result_ __in WDFUSBPIPE __in PWDF_USB_CONTINUOUS_READER_CONFIG Config
 
NTSTATUS status
 
size_t total
 
FxUsbPipeRequestContext context (FxUrbTypeLegacy)
 
FxRequestpRequest
 
_Must_inspect_result_ __in WDFUSBPIPE __in WDFREQUEST __in WDFMEMORY UrbMemory
 
_Must_inspect_result_ __in WDFUSBPIPE __in WDFREQUEST __in WDFMEMORY __in_opt PWDFMEMORY_OFFSET UrbOffsets
 
IFxMemorypMemory
 
FxRequestBuffer buf
 
size_t bufferSize = pMemory->GetBufferSize()
 
__in WDFUSBPIPE UsbPipe
 

Function Documentation

◆ __drv_maxIRQL() [1/2]

__drv_maxIRQL ( DISPATCH_LEVEL  )

◆ __drv_maxIRQL() [2/2]

_Must_inspect_result_ __drv_maxIRQL ( PASSIVE_LEVEL  )

◆ __in_xcount()

_Must_inspect_result_ __in WDFUSBPIPE __in_opt WDFREQUEST __in_opt PWDF_REQUEST_SEND_OPTIONS __in_xcount ( "union bug in SAL"  )

Definition at line 668 of file fxusbpipeapi.cpp.

671 {
672  DDI_ENTRY();
673 
678 
680  Pipe,
682  (PVOID*) &pUsbPipe,
684 
686  FxSyncRequest request(pFxDriverGlobals, &context, Request);
687 
688  //
689  // FxSyncRequest always succeesds for KM but can fail for UM.
690  //
691  status = request.Initialize();
692  if (!NT_SUCCESS(status)) {
694  "Failed to initialize FxSyncRequest");
695  return status;
696  }
697 
699  "WDFUSBPIPE %p, Urb %p", Pipe, Urb);
700 
702 
704  if (!NT_SUCCESS(status)) {
705  return status;
706  }
707 
709  if (!NT_SUCCESS(status)) {
710  return status;
711  }
712 
713  buf.SetBuffer(Urb, 0);
714 
716  pUsbPipe,
717  request.m_TrueRequest,
718  &buf,
719  pUsbPipe->GetUrbType(),
721 
722  if (NT_SUCCESS(status)) {
725  "WDFUSBPIPE %p, WDFREQUEST %p being submitted",
726  Pipe, request.m_TrueRequest->GetTraceObjectHandle());
727 
728  status = pUsbPipe->SubmitSync(request.m_TrueRequest, RequestOptions);
729  }
730 
732  "WDFUSBPIPE %p, Urb %p, %!STATUS!",
733  Pipe, Urb, status);
734 
735  return status;
736 }
FxPointerNotNull(pFxDriverGlobals, PipeInformation)
#define DDI_ENTRY()
Definition: fxglobalskm.h:56
FxObjectHandleGetPtrAndGlobals(GetFxDriverGlobals(DriverGlobals), Pipe, FX_TYPE_IO_TARGET_USB_PIPE,(PVOID *) &pUsbPipe, &pFxDriverGlobals)
Definition: http.c:7251
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGIOTARGET, "WDFUSBPIPE %p", Pipe)
LONG NTSTATUS
Definition: precomp.h:26
NTSTATUS status
_In_ WDFREQUEST Request
Definition: wdfdevice.h:547
_Must_inspect_result_ NTSTATUS SubmitSync(__in FxRequestBase *Request, __in_opt PWDF_REQUEST_SEND_OPTIONS Options=NULL, __out_opt PULONG Action=NULL)
DriverGlobals
NTSTATUS __inline FxValidateRequestOptions(_In_ PFX_DRIVER_GLOBALS FxDriverGlobals, _In_ PWDF_REQUEST_SEND_OPTIONS Options, _In_opt_ FxRequestBase *Request=NULL)
FX_URB_TYPE GetUrbType(VOID)
Definition: fxusbpipe.hpp:676
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
#define TRACE_LEVEL_VERBOSE
Definition: storswtr.h:30
__inline NTSTATUS FxVerifierCheckIrqlLevel(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in KIRQL Irql)
Definition: fxverifier.h:158
FxRequestBuffer buf
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
PFX_DRIVER_GLOBALS pFxDriverGlobals
_In_ WDFUSBPIPE Pipe
Definition: wdfusb.h:1741
#define PASSIVE_LEVEL
Definition: env_spec_w32.h:693
#define TRACE_LEVEL_ERROR
Definition: storswtr.h:27
FxUsbPipe * pUsbPipe
FxSyncRequest request(pFxDriverGlobals, &context, Request)
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)
Definition: usbutil.cpp:62
Definition: tftpd.h:85
FxUsbPipeRequestContext context(FxUrbTypeLegacy)
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG _In_opt_ PWDF_REQUEST_SEND_OPTIONS RequestOptions
Definition: wdfiotarget.h:859
__inline PFX_DRIVER_GLOBALS GetFxDriverGlobals(__in PWDF_DRIVER_GLOBALS DriverGlobals)
Definition: fxglobals.h:597
USBD_HANDLE GetUSBDHandle(VOID)
Definition: fxusbpipe.hpp:668
#define TRACINGIOTARGET
Definition: dbgtrace.h:72
Definition: ps.c:97

◆ context()

◆ DoTraceLevelMessage() [1/12]

DoTraceLevelMessage ( pFxDriverGlobals  ,
TRACE_LEVEL_VERBOSE  ,
TRACINGIOTARGET  ,
"WDFUSBPIPE %p ,
Pipe   
)

Referenced by __in_xcount(), and if().

◆ DoTraceLevelMessage() [2/12]

DoTraceLevelMessage ( GetFxDriverGlobals(DriverGlobals ,
TRACE_LEVEL_VERBOSE  ,
TRACINGIOTARGET  ,
"WDFUSBPIPE %p ,
Pipe   
)

◆ DoTraceLevelMessage() [3/12]

DoTraceLevelMessage ( GetFxDriverGlobals(DriverGlobals ,
TRACE_LEVEL_VERBOSE  ,
TRACINGIOTARGET  ,
"WDFUSBPIPE %  p,
WDFREQUEST %  p,
WDFMEMORY %p ,
Pipe  ,
Request  ,
WriteMemory   
)

◆ DoTraceLevelMessage() [4/12]

DoTraceLevelMessage ( pFxDriverGlobals  ,
TRACE_LEVEL_VERBOSE  ,
TRACINGIOTARGET  ,
"Pipe %p ,
Pipe   
)

◆ DoTraceLevelMessage() [5/12]

DoTraceLevelMessage ( pFxDriverGlobals  ,
TRACE_LEVEL_VERBOSE  ,
TRACINGIOTARGET  ,
"WDFUSBPIPE %  p,
%!STATUS!"  ,
Pipe  ,
status   
)

◆ DoTraceLevelMessage() [6/12]

DoTraceLevelMessage ( pFxDriverGlobals  ,
TRACE_LEVEL_VERBOSE  ,
TRACINGIOTARGET  ,
"Pipe %  p,
Request %p ,
Pipe  ,
Request   
)

◆ DoTraceLevelMessage() [7/12]

DoTraceLevelMessage ( pFxDriverGlobals  ,
TRACE_LEVEL_VERBOSE  ,
TRACINGIOTARGET  ,
"Pipe %  p,
Request p,
status %!STATUS!"  ,
Pipe  ,
Request  ,
status   
)

◆ DoTraceLevelMessage() [8/12]

DoTraceLevelMessage ( pFxDriverGlobals  ,
TRACE_LEVEL_VERBOSE  ,
TRACINGIOTARGET  ,
"WDFUSBPIPE %p reset ,
Pipe   
)

◆ DoTraceLevelMessage() [9/12]

DoTraceLevelMessage ( pFxDriverGlobals  ,
TRACE_LEVEL_VERBOSE  ,
TRACINGIOTARGET  ,
"WDFUSBPIPE %p  reset,
%!STATUS!"  ,
Pipe  ,
status   
)

◆ DoTraceLevelMessage() [10/12]

DoTraceLevelMessage ( pFxDriverGlobals  ,
TRACE_LEVEL_VERBOSE  ,
TRACINGIOTARGET  ,
"Pipe %  p 
)

◆ DoTraceLevelMessage() [11/12]

DoTraceLevelMessage ( pFxDriverGlobals  ,
TRACE_LEVEL_VERBOSE  ,
TRACINGIOTARGET  ,
"Pipe %  p,
Request p,
Memory %p ,
Pipe  ,
Request  ,
UrbMemory   
)

◆ DoTraceLevelMessage() [12/12]

DoTraceLevelMessage ( pFxDriverGlobals  ,
TRACE_LEVEL_VERBOSE  ,
TRACINGIOTARGET  ,
"Pipe %  p,
Request p,
Memory p,
status %!STATUS!"  ,
Pipe  ,
Request  ,
UrbMemory  ,
status   
)

◆ FxObjectHandleGetPtr() [1/3]

FxObjectHandleGetPtr ( GetFxDriverGlobals(DriverGlobals ,
Pipe  ,
FX_TYPE_IO_TARGET_USB_PIPE  ,
(PVOID *) &  pUsbPipe 
)

◆ FxObjectHandleGetPtr() [2/3]

FxObjectHandleGetPtr ( pFxDriverGlobals  ,
Request  ,
FX_TYPE_REQUEST  ,
(PVOID *) &  pRequest 
)

◆ FxObjectHandleGetPtr() [3/3]

FxObjectHandleGetPtr ( pFxDriverGlobals  ,
UrbMemory  ,
IFX_TYPE_MEMORY  ,
(PVOID *) &  pMemory 
)

◆ FxObjectHandleGetPtrAndGlobals()

FxObjectHandleGetPtrAndGlobals ( GetFxDriverGlobals(DriverGlobals ,
Pipe  ,
FX_TYPE_IO_TARGET_USB_PIPE  ,
(PVOID *) &  pUsbPipe,
pFxDriverGlobals 
)

Referenced by __in_xcount().

◆ FxPointerNotNull() [1/2]

FxPointerNotNull ( pFxDriverGlobals  ,
PipeInformation   
)

Referenced by __in_xcount().

◆ FxPointerNotNull() [2/2]

FxPointerNotNull ( pFxDriverGlobals  ,
Config   
)

◆ GetInformation()

pUsbPipe GetInformation ( PipeInformation  )

◆ GetType()

return pUsbPipe GetType ( )

◆ if() [1/8]

Definition at line 316 of file fxusbpipeapi.cpp.

316  {
318 
320  "Config %p incorrect size %d, expected %d %!STATUS!",
322  status);
323 
324  return status;
325  }
#define STATUS_INFO_LENGTH_MISMATCH
Definition: udferr_usr.h:133
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGIOTARGET, "WDFUSBPIPE %p", Pipe)
NTSTATUS status
PFX_DRIVER_GLOBALS pFxDriverGlobals
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_CHILD_LIST_CONFIG Config
Definition: wdfchildlist.h:474
#define TRACE_LEVEL_ERROR
Definition: storswtr.h:27
#define TRACINGIOTARGET
Definition: dbgtrace.h:72
Definition: ps.c:97

◆ if() [2/8]

if ( Config->  EvtUsbTargetPipeReadComplete = NULL)

Definition at line 327 of file fxusbpipeapi.cpp.

327  {
331  "NULL EvtUsbTargetPipeReadComplete not allowed %!STATUS!", status);
332  return status;
333  }
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGIOTARGET, "WDFUSBPIPE %p", Pipe)
#define STATUS_INVALID_PARAMETER
Definition: udferr_usr.h:135
NTSTATUS status
PFX_DRIVER_GLOBALS pFxDriverGlobals
#define TRACE_LEVEL_ERROR
Definition: storswtr.h:27
#define TRACINGIOTARGET
Definition: dbgtrace.h:72
Definition: ps.c:97

◆ if() [3/8]

if ( NT_SUCCESSstatus)

Definition at line 346 of file fxusbpipeapi.cpp.

346  {
349  "HeaderLength + TransferLength overflow %!STATUS!", status);
350  return status;
351  }
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGIOTARGET, "WDFUSBPIPE %p", Pipe)
NTSTATUS status
PFX_DRIVER_GLOBALS pFxDriverGlobals
#define TRACE_LEVEL_ERROR
Definition: storswtr.h:27
#define TRACINGIOTARGET
Definition: dbgtrace.h:72
Definition: ps.c:97

◆ if() [4/8]

Definition at line 379 of file fxusbpipeapi.cpp.

380  {
382 
385  "WDFUSBPIPE %p type %!WDF_USB_PIPE_TYPE!, only bulk or interrupt "
386  "pipes can be configured for continous readers, %!STATUS!",
387  Pipe, pUsbPipe->GetType(), status);
388 
389  return status;
390  }
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGIOTARGET, "WDFUSBPIPE %p", Pipe)
NTSTATUS status
#define STATUS_INVALID_DEVICE_REQUEST
Definition: udferr_usr.h:138
PFX_DRIVER_GLOBALS pFxDriverGlobals
WDF_USB_PIPE_TYPE GetType(VOID)
_In_ WDFUSBPIPE Pipe
Definition: wdfusb.h:1741
#define TRACE_LEVEL_ERROR
Definition: storswtr.h:27
FxUsbPipe * pUsbPipe
#define TRACINGIOTARGET
Definition: dbgtrace.h:72
Definition: ps.c:97

◆ if() [5/8]

if ( pUsbPipe->  IsOutEndpoint())

Definition at line 392 of file fxusbpipeapi.cpp.

392  {
394 
397  "WDFUSBPIPE %p, wrong direction for continuous reader, %!STATUS!",
398  Pipe, status);
399 
400  return status;
401  }
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGIOTARGET, "WDFUSBPIPE %p", Pipe)
NTSTATUS status
#define STATUS_INVALID_DEVICE_REQUEST
Definition: udferr_usr.h:138
PFX_DRIVER_GLOBALS pFxDriverGlobals
_In_ WDFUSBPIPE Pipe
Definition: wdfusb.h:1741
#define TRACE_LEVEL_ERROR
Definition: storswtr.h:27
#define TRACINGIOTARGET
Definition: dbgtrace.h:72
Definition: ps.c:97

◆ if() [6/8]

if ( NT_SUCCESS(status )

Definition at line 475 of file fxusbpipeapi.cpp.

475  {
478  "WDFUSBPIPE %p, WDFREQUEST %p being submitted",
479  Pipe, request.m_TrueRequest->GetTraceObjectHandle());
480 
481  status = pUsbPipe->SubmitSync(request.m_TrueRequest, RequestOptions);
482  }
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGIOTARGET, "WDFUSBPIPE %p", Pipe)
_Must_inspect_result_ NTSTATUS SubmitSync(__in FxRequestBase *Request, __in_opt PWDF_REQUEST_SEND_OPTIONS Options=NULL, __out_opt PULONG Action=NULL)
#define TRACE_LEVEL_VERBOSE
Definition: storswtr.h:30
PFX_DRIVER_GLOBALS pFxDriverGlobals
_In_ WDFUSBPIPE Pipe
Definition: wdfusb.h:1741
FxUsbPipe * pUsbPipe
Definition: tftpd.h:85
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG _In_opt_ PWDF_REQUEST_SEND_OPTIONS RequestOptions
Definition: wdfiotarget.h:859
#define TRACINGIOTARGET
Definition: dbgtrace.h:72
Definition: ps.c:97

◆ if() [7/8]

if ( UrbOffsets = NULL && UrbOffsets->BufferOffset,
 
)

Definition at line 791 of file fxusbpipeapi.cpp.

791  {
793  }
size_t BufferOffset
Definition: wdfmemory.h:65
size_t bufferSize
_Must_inspect_result_ __in WDFUSBPIPE __in WDFREQUEST __in WDFMEMORY __in_opt PWDFMEMORY_OFFSET UrbOffsets

◆ if() [8/8]

if ( )

Definition at line 795 of file fxusbpipeapi.cpp.

795  {
798  "UrbMemory %p buffer size, %I64d, smaller then "
799  "_URB_HEADER, %!STATUS!", UrbMemory,
801  return status;
802  }
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGIOTARGET, "WDFUSBPIPE %p", Pipe)
#define STATUS_INVALID_PARAMETER
Definition: udferr_usr.h:135
NTSTATUS status
PFX_DRIVER_GLOBALS pFxDriverGlobals
#define TRACE_LEVEL_ERROR
Definition: storswtr.h:27
IFxMemory * pMemory
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_ WDFREQUEST _In_ WDFMEMORY UrbMemory
Definition: wdfusb.h:1572
#define TRACINGIOTARGET
Definition: dbgtrace.h:72
virtual size_t GetBufferSize(VOID)=0
Definition: ps.c:97

◆ IsInEndpoint()

return pUsbPipe IsInEndpoint ( )

◆ IsOutEndpoint()

return pUsbPipe IsOutEndpoint ( )

◆ request()

FxSyncRequest request ( pFxDriverGlobals  ,
context,
Request   
)

Referenced by __in_xcount().

◆ SetMemory()

buf SetMemory ( pMemory  ,
UrbOffsets   
)

◆ SetNoCheckPacketSize()

pUsbPipe SetNoCheckPacketSize ( )

◆ WdmGetPipeHandle()

return pUsbPipe WdmGetPipeHandle ( )

Variable Documentation

◆ buf

Definition at line 761 of file fxusbpipeapi.cpp.

Referenced by __in_xcount().

◆ bufferSize

bufferSize = pMemory->GetBufferSize()

Definition at line 763 of file fxusbpipeapi.cpp.

Referenced by if().

◆ BytesRead

◆ BytesWritten

◆ Config

Initial value:
{
#define DDI_ENTRY()
Definition: fxglobalskm.h:56

Definition at line 300 of file fxusbpipeapi.cpp.

◆ context

◆ MemoryDescriptor

◆ pFxDriverGlobals

PFX_DRIVER_GLOBALS pFxDriverGlobals

Definition at line 47 of file fxusbpipeapi.cpp.

Referenced by __in_xcount(), and if().

◆ Pipe

Initial value:
{
#define DDI_ENTRY()
Definition: fxglobalskm.h:56

Definition at line 40 of file fxusbpipeapi.cpp.

◆ PipeInformation

Initial value:
{
#define DDI_ENTRY()
Definition: fxglobalskm.h:56

Definition at line 44 of file fxusbpipeapi.cpp.

◆ pMemory

IFxMemory* pMemory

Definition at line 758 of file fxusbpipeapi.cpp.

Referenced by if().

◆ pRequest

FxRequest* pRequest

Definition at line 506 of file fxusbpipeapi.cpp.

◆ pUsbPipe

FxUsbPipe * pUsbPipe

◆ ReadMemory

_Must_inspect_result_ __in WDFUSBPIPE __in WDFREQUEST __in_opt WDFMEMORY ReadMemory

Definition at line 262 of file fxusbpipeapi.cpp.

◆ ReadOffsets

_Must_inspect_result_ __in WDFUSBPIPE __in WDFREQUEST __in_opt WDFMEMORY __in_opt PWDFMEMORY_OFFSET ReadOffsets
Initial value:
{
#define DDI_ENTRY()
Definition: fxglobalskm.h:56

Definition at line 270 of file fxusbpipeapi.cpp.

Referenced by FxRequestContext::FormatReadParams().

◆ Request

_Must_inspect_result_ __in WDFUSBPIPE __in WDFREQUEST Request
Initial value:
{
#define DDI_ENTRY()
Definition: fxglobalskm.h:56

Definition at line 162 of file fxusbpipeapi.cpp.

◆ RequestOptions

Initial value:
{
#define DDI_ENTRY()
Definition: fxglobalskm.h:56

Definition at line 162 of file fxusbpipeapi.cpp.

◆ status

Initial value:
= RtlSizeTAdd(Config->HeaderLength,
Config->TransferLength,
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_CHILD_LIST_CONFIG Config
Definition: wdfchildlist.h:474
size_t total

Definition at line 305 of file fxusbpipeapi.cpp.

Referenced by __in_xcount(), and if().

◆ total

size_t total

Definition at line 306 of file fxusbpipeapi.cpp.

Referenced by ACTION_InstallValidate(), append_multi_sz_value(), AVISplitter_InputPin_PreConnect(), CheckInvariant(), chm_retrieve_object(), ConWrite(), CreateEnhMetaFileA(), ddraw2_GetAvailableVidMem(), ddraw4_GetAvailableVidMem(), ddraw7_GetAvailableVidMem(), debugsystemobjects_GetTotalNumberThreads(), DECLARE_INTERFACE_(), drive_get_TotalSize(), EMFDC_GdiComment(), EMFDC_WriteEscape(), EMFDC_WriteNamedEscape(), EMFDRV_GdiComment(), enum_compressors(), fgetcSocket(), FILEDLG95_Handle_GetFilePath(), FSE_buildCTable_wksp(), FSE_normalizeCount(), FSE_normalizeM2(), ft_stroke_border_arcto(), ft_stroker_arcto(), FTC_SNode_New(), FxPoolAddHeaderSize(), get_subtests(), GetDiskInfoA(), CardRegion::GetOverlapRatio(), HUF_readStats(), InfpSubstituteString(), MDI_CalcDefaultChildPos(), MDICascade(), MDITile(), MPEGSplitter_pre_connect(), msi_dialog_parse_groups(), msi_dialog_vcl_add_drives(), MSSTYLES_GetNextInteger(), otv_Coverage_validate(), para_num_get_str(), PARSER_string_substW(), pdb_process_types(), PlayMetaFileRecord(), PlusMinusTest::plus0(), REGION_SetPolyPolygonRgn(), s_sum_complex_array(), send_file(), SetupCreateDiskSpaceListW(), SetupGetLineTextA(), SetupGetLineTextW(), SetupGetMultiSzFieldA(), SetupGetMultiSzFieldW(), shader_init(), shader_signature_calculate_strings_length(), SHELL_BuildEnvW(), t2_hints_stems(), tcp_send(), test_EnumCodePages(), test_EnumColorProfilesA(), test_EnumColorProfilesW(), test_EnumScripts(), test_GetDiskInfoA(), test_GetSystemDirectory(), test_GetWindowsDirectory(), test_ScriptPlace(), test_Win32_QuickFixEngineering(), test_window_tree(), TimesTest::times(), upcall_marshall(), IFxMemory::ValidateMemoryOffsets(), verify_dir_item(), TConsole::WriteCtrlString(), xsltApplyXSLTTemplate(), ZSTD_entropyCost(), and ZSTD_getLongOffsetsShare().

◆ UrbMemory

_Must_inspect_result_ __in WDFUSBPIPE __in WDFREQUEST __in WDFMEMORY UrbMemory

Definition at line 746 of file fxusbpipeapi.cpp.

◆ UrbOffsets

_Must_inspect_result_ __in WDFUSBPIPE __in WDFREQUEST __in WDFMEMORY __in_opt PWDFMEMORY_OFFSET UrbOffsets
Initial value:
{
#define DDI_ENTRY()
Definition: fxglobalskm.h:56

Definition at line 754 of file fxusbpipeapi.cpp.

Referenced by if().

◆ UsbPipe

__in WDFUSBPIPE UsbPipe
Initial value:
{
#define DDI_ENTRY()
Definition: fxglobalskm.h:56

Definition at line 849 of file fxusbpipeapi.cpp.

◆ WriteMemory

_Must_inspect_result_ __in WDFUSBPIPE __in WDFREQUEST __in_opt WDFMEMORY WriteMemory

Definition at line 196 of file fxusbpipeapi.cpp.

◆ WriteOffsets

_Must_inspect_result_ __in WDFUSBPIPE __in WDFREQUEST __in_opt WDFMEMORY __in_opt PWDFMEMORY_OFFSET WriteOffsets
Initial value:
{
#define DDI_ENTRY()
Definition: fxglobalskm.h:56

Definition at line 204 of file fxusbpipeapi.cpp.

Referenced by FxRequestContext::FormatWriteParams().