ReactOS  0.4.15-dev-2155-g06f57e1
fxrequestbase.hpp File Reference
Include dependency graph for fxrequestbase.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  FxRequestTimer
 
class  FxRequestBase
 

Macros

#define WDF_REQUEST_REUSE_MUST_COMPLETE   2
 
#define WDF_REQUEST_SEND_INTERNAL_OPTION_FAIL_ON_PEND   (0x80000000)
 
#define WDF_REQUEST_INTERNAL_CONSTRAINTS_VALID_FLAGS   (WDF_REQUEST_SEND_INTERNAL_OPTION_FAIL_ON_PEND)
 

Typedefs

typedef VOID(* PFN_COMPLETE_COPY_ROUTINE) (__in FxIoTarget *This, __in FxRequest *Request, __in_opt FxRequestContext *Context)
 

Enumerations

enum  FxRequestTargetFlags {
  FX_REQUEST_COMPLETED = 0x01, FX_REQUEST_PENDED = 0x02, FX_REQUEST_TIMER_SET = 0x04, FX_REQUEST_CANCELLED_FROM_TIMER = 0x08,
  FX_REQUEST_IGNORE_STATE = 0x10
}
 
enum  FxRequestAllocationSource { REQUEST_ALLOCATED_FROM_IO = 0, REQUEST_ALLOCATED_INTERNAL = 1, REQUEST_ALLOCATED_DRIVER = 2 }
 
enum  FxRequestIrpOwnership { FxRequestOwnsIrp = 1, FxRequestDoesNotOwnIrp }
 
enum  FxRequestConstructorCaller { FxRequestConstructorCallerIsFx = 1, FxRequestConstructorCallerIsDriver }
 
enum  FxRequestVerifierFlags {
  FXREQUEST_FLAG_DRIVER_OWNED = 0x0001, FXREQUEST_FLAG_TAG_REQUEST = 0x0002, FXREQUEST_FLAG_FORWARDED = 0x0004, FXREQUEST_FLAG_DRIVER_DISPATCH = 0x0008,
  FXREQUEST_FLAG_DRIVER_CANCELABLE = 0x0010, FXREQUEST_FLAG_DRIVER_INPROCESS_CONTEXT = 0x0020, FXREQUEST_FLAG_CANCELLED = 0x0040, FXREQUEST_FLAG_FORMATTED = 0x0080,
  FXREQUEST_FLAG_SENT_TO_TARGET = 0x0100, FXREQUEST_FLAG_DRIVER_IN_EVTIOSTOP_CONTEXT = 0x0200, FXREQUEST_FLAG_RESERVED_REQUEST_ASSOCIATED_WITH_IRP = 0x0400
}
 
enum  FxRequestBaseFlags { FxRequestBaseSystemMdlMapped = 0x1, FxRequestBaseOutputMdlMapped = 0x2, FxRequestBaseSyncCleanupContext = 0x10 }
 
enum  FxRequestBaseStaticFlags { FxRequestBaseStaticSystemBufferValid = 0x1, FxRequestBaseStaticOutputBufferValid = 0x2 }
 
enum  FxRequestCompletionState { FxRequestCompletionStateIoPkgFlag = 0x80, FxRequestCompletionStateNone = 0x00, FxRequestCompletionStateQueue = 0x01, FxRequestCompletionStateIoPkg = 0x02 | FxRequestCompletionStateIoPkgFlag }
 

Macro Definition Documentation

◆ WDF_REQUEST_INTERNAL_CONSTRAINTS_VALID_FLAGS

#define WDF_REQUEST_INTERNAL_CONSTRAINTS_VALID_FLAGS   (WDF_REQUEST_SEND_INTERNAL_OPTION_FAIL_ON_PEND)

Definition at line 65 of file fxrequestbase.hpp.

◆ WDF_REQUEST_REUSE_MUST_COMPLETE

#define WDF_REQUEST_REUSE_MUST_COMPLETE   2

Definition at line 35 of file fxrequestbase.hpp.

◆ WDF_REQUEST_SEND_INTERNAL_OPTION_FAIL_ON_PEND

#define WDF_REQUEST_SEND_INTERNAL_OPTION_FAIL_ON_PEND   (0x80000000)

Definition at line 63 of file fxrequestbase.hpp.

Typedef Documentation

◆ PFN_COMPLETE_COPY_ROUTINE

typedef VOID(* PFN_COMPLETE_COPY_ROUTINE) (__in FxIoTarget *This, __in FxRequest *Request, __in_opt FxRequestContext *Context)

Definition at line 74 of file fxrequestbase.hpp.

Enumeration Type Documentation

◆ FxRequestAllocationSource

Enumerator
REQUEST_ALLOCATED_FROM_IO 
REQUEST_ALLOCATED_INTERNAL 
REQUEST_ALLOCATED_DRIVER 

Definition at line 85 of file fxrequestbase.hpp.

85  {
86  REQUEST_ALLOCATED_FROM_IO = 0, // Irp came from the I/O package
87  REQUEST_ALLOCATED_INTERNAL = 1, // Irp was allocated internally and should be freed by the request
88  REQUEST_ALLOCATED_DRIVER = 2, // Irp was given to the request by the driver writer
89 };

◆ FxRequestBaseFlags

Enumerator
FxRequestBaseSystemMdlMapped 
FxRequestBaseOutputMdlMapped 
FxRequestBaseSyncCleanupContext 

Definition at line 142 of file fxrequestbase.hpp.

◆ FxRequestBaseStaticFlags

Enumerator
FxRequestBaseStaticSystemBufferValid 
FxRequestBaseStaticOutputBufferValid 

Definition at line 148 of file fxrequestbase.hpp.

◆ FxRequestCompletionState

Enumerator
FxRequestCompletionStateIoPkgFlag 
FxRequestCompletionStateNone 
FxRequestCompletionStateQueue 
FxRequestCompletionStateIoPkg 

Definition at line 158 of file fxrequestbase.hpp.

◆ FxRequestConstructorCaller

Enumerator
FxRequestConstructorCallerIsFx 
FxRequestConstructorCallerIsDriver 

Definition at line 100 of file fxrequestbase.hpp.

◆ FxRequestIrpOwnership

Enumerator
FxRequestOwnsIrp 
FxRequestDoesNotOwnIrp 

Definition at line 91 of file fxrequestbase.hpp.

◆ FxRequestTargetFlags

Enumerator
FX_REQUEST_COMPLETED 
FX_REQUEST_PENDED 
FX_REQUEST_TIMER_SET 
FX_REQUEST_CANCELLED_FROM_TIMER 
FX_REQUEST_IGNORE_STATE 

Definition at line 52 of file fxrequestbase.hpp.

◆ FxRequestVerifierFlags

Enumerator
FXREQUEST_FLAG_DRIVER_OWNED 
FXREQUEST_FLAG_TAG_REQUEST 
FXREQUEST_FLAG_FORWARDED 
FXREQUEST_FLAG_DRIVER_DISPATCH 
FXREQUEST_FLAG_DRIVER_CANCELABLE 
FXREQUEST_FLAG_DRIVER_INPROCESS_CONTEXT 
FXREQUEST_FLAG_CANCELLED 
FXREQUEST_FLAG_FORMATTED 
FXREQUEST_FLAG_SENT_TO_TARGET 
FXREQUEST_FLAG_DRIVER_IN_EVTIOSTOP_CONTEXT 
FXREQUEST_FLAG_RESERVED_REQUEST_ASSOCIATED_WITH_IRP 

Definition at line 108 of file fxrequestbase.hpp.

108  {
109  // Request has been passed to the Driver
111 
112  // Request was returned as a "Tag" request to WdfIoQueuePeekNextRequest.
114 
115  // Request has been forwarded from one queue to another
116  FXREQUEST_FLAG_FORWARDED = 0x0004,
117 
118  // Request is being EvtIoDefault to the driver
120 
121  // The driver has specified the request as cancelable
123 
125 
126  // The request has been cancelled
127  FXREQUEST_FLAG_CANCELLED = 0x0040,
128 
129  // the next stack location has been formatted
130  FXREQUEST_FLAG_FORMATTED = 0x0080,
131 
132  // the request has been sent on an I/O target and is in the target's sent list
134 
135  // used to make sure the driver stop acknowledges in the context of EvtIoStop
137 
138  // used to indicate whether the Reserved Request is in use or on Free list
140 };