30 #ifndef _FXREQUESTBASE_H_ 31 #define _FXREQUESTBASE_H_ 35 #define WDF_REQUEST_REUSE_MUST_COMPLETE 2 63 #define WDF_REQUEST_SEND_INTERNAL_OPTION_FAIL_ON_PEND (0x80000000) 65 #define WDF_REQUEST_INTERNAL_CONSTRAINTS_VALID_FLAGS \ 66 (WDF_REQUEST_SEND_INTERNAL_OPTION_FAIL_ON_PEND) 748 #if (FX_CORE_MODE == FX_CORE_KERNEL_MODE) 955 #if ((FX_CORE_MODE)==(FX_CORE_KERNEL_MODE)) 957 #elif ((FX_CORE_MODE)==(FX_CORE_USER_MODE)) 962 #endif // _FXREQUESTBASE_H_ __inline ULONG ClearTargetFlags(__in UCHAR Flags)
PFN_WDF_REQUEST_CANCEL m_Cancel
__inline VOID SetCompletionRoutine(__in_opt PFN_WDF_REQUEST_COMPLETION_ROUTINE CompletionRoutine=NULL, __in_opt WDFCONTEXT CompletionContext=NULL)
_Must_inspect_result_ NTSTATUS CreateTimer(VOID)
static __inline FxRequestBase * _FromDrainEntry(__in PSINGLE_LIST_ENTRY Entry)
__drv_restoresIRQL KIRQL __in BOOLEAN Unlock
struct FxRequestBase::@4571::@4578 m_VeriferFlagsByName
virtual BOOLEAN Dispose(VOID)
VOID ClearFieldsForReuse(VOID)
_In_ WDFREQUEST _In_opt_ PFN_WDF_REQUEST_COMPLETION_ROUTINE _In_opt_ __drv_aliasesMem WDFCONTEXT CompletionContext
SHORT DriverInEvtIoStopContext
VOID SetContext(__in ULONG Index, __in PVOID Value)
GLuint GLuint GLsizei count
struct FxRequestBase::@4573::@4579 m_RequestBaseFlagsByName
__inline VOID SetRequestBaseFlags(__in UCHAR Flags)
_Must_inspect_result_ BOOLEAN CancelTimer(VOID)
__inline FxIrp * GetSubmitFxIrp(VOID)
CCHAR __inline GetPriorityBoost(VOID)
UCHAR m_RequestBaseStaticFlags
BOOLEAN __inline IsAllocatedFromIo(VOID)
__inline VOID ClearVerifierFlags(__in SHORT Flags)
#define DECLSPEC_NORETURN
FX_DECLARE_VF_FUNCTION(VOID, VerifyDispose)
__inline VOID SetVerifierFlags(__in SHORT Flags)
LONG m_IrpCompletionReferenceCount
FxRequestCancelCallback m_CancelRoutine
__inline UCHAR GetTargetFlags(VOID)
namespace GUID const ADDRINFOEXW ADDRINFOEXW struct timeval OVERLAPPED LPLOOKUPSERVICE_COMPLETION_ROUTINE HANDLE * handle
__inline SHORT GetVerifierFlags(VOID)
VOID StartTimer(__in LONGLONG Timeout)
_In_ WDFREQUEST _In_ NTSTATUS _In_ CCHAR PriorityBoost
__inline BOOLEAN IsCompletionRoutineSet(VOID)
WDFOBJECT_OFFSET_ALIGNED m_OutputBufferOffset
__inline VOID ClearVerifierFlagsLocked(__in SHORT Flags)
SHORT DriverInprocessContext
VOID CompleteSubmittedNoContext(VOID)
VOID MarkDisposeOverride(__in FxObjectLockState State=ObjectLock)
PVOID __inline GetObjectHandle(VOID)
virtual VOID ReleaseAndRestore(__in FxRequestBase *Request)
__inline PVOID GetTraceObjectHandle(VOID)
EVT_WDF_REQUEST_COMPLETION_ROUTINE * PFN_WDF_REQUEST_COMPLETION_ROUTINE
__inline VOID EnableContextDisposeNotification(VOID)
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
VOID __inline SetPriorityBoost(CCHAR PriorityBoost)
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
VOID(* PFN_COMPLETE_COPY_ROUTINE)(__in FxIoTarget *This, __in FxRequest *Request, __in_opt FxRequestContext *Context)
WDFCONTEXT m_TargetCompletionContext
_Must_inspect_result_ _In_ ULONG Flags
__inline MdIrp GetSubmitIrp(VOID)
__inline VOID VerifierSetFormatted(VOID)
__inline VOID VerifierClearFormatted(VOID)
MdIrp SetSubmitIrp(__in_opt MdIrp NewIrp, __in BOOLEAN FreeIrp=TRUE)
PFN_WDF_REQUEST_COMPLETION_ROUTINE ClearCompletionRoutine(VOID)
FxRequestAllocationSource
VOID CompleteSubmitted(VOID)
__inline FxIoTarget * GetTarget(VOID)
__inline VOID SetVerifierFlagsLocked(__in SHORT Flags)
FX_REQUEST_CONTEXT_TYPE m_RequestType
struct FxRequestBase::@4569::@4577 m_TargetFlagsByName
FxRequestConstructorCaller
#define InterlockedDecrement
virtual ~FxRequestBase(VOID)
static MdDeferredRoutineType _TimerDPC
WDFOBJECT_OFFSET_ALIGNED m_SystemBufferOffset
VOID ZeroOutDriverContext(VOID)
__inline VOID SetCompleted(__in BOOLEAN Value)
__inline BOOLEAN CanComplete(VOID)
#define _Must_inspect_result_
_Must_inspect_result_ NTSTATUS ValidateTarget(__in FxIoTarget *Target)
__inline BOOLEAN IsCancelRoutineSet(VOID)
static __inline FxRequestBase * _FromCsqContext(__in PMdIoCsqIrpContext Context)
KDEFERRED_ROUTINE MdDeferredRoutineType
WDFCONTEXT ClearCompletionContext(VOID)
FxRequestBase(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in USHORT ObjectSize, __in_opt MdIrp Irp, __in FxRequestIrpOwnership Ownership, __in FxRequestConstructorCaller Caller, __in FxObjectType ObjectType=FxObjectTypeExternal)
FxRequestCompletionCallback m_CompletionRoutine
SHORT GetVerifierFlagsLocked(VOID)
__inline BOOLEAN HasContext(VOID)
UCHAR FX_REQUEST_CONTEXT_TYPE
__inline PFX_DRIVER_GLOBALS GetDriverGlobals(VOID)
__inline BOOLEAN VerifierIsFormatted(VOID)
SINGLE_LIST_ENTRY m_DrainSingleEntry
PFN_WDF_REQUEST_COMPLETION_ROUTINE m_Completion
_In_ WDFREQUEST _In_opt_ PFN_WDF_REQUEST_COMPLETION_ROUTINE CompletionRoutine
__inline FxRequestContext * GetContext(VOID)
BOOLEAN __inline IsCanComplete(VOID)
__inline VOID SetTargetFlags(__in UCHAR Flags)
VOID ContextReleaseAndRestore(VOID)
DECLSPEC_NORETURN VOID FatalError(__in NTSTATUS Status)
FxRequestContext * m_RequestContext
struct tagContext Context
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFWAITLOCK * Lock
VOID __inline SetTarget(__in FxIoTarget *Target)
struct FxRequestBase::@4575::@4580 m_RequestBaseStaticFlagsByName
#define RtlZeroMemory(Destination, Length)
static __inline FxRequestBase * _FromListEntry(__in PLIST_ENTRY Entry)
MdIoCsqIrpContext m_CsqContext
__inline VOID SetContext(__in FxRequestContext *RequestContext=NULL)
__inline BOOLEAN ShouldClearContext(VOID)
BOOLEAN m_NextStackLocationFormatted
base of all file and directory entries
__inline WDFREQUEST GetHandle(VOID)
BOOLEAN __inline IsAllocatedDriver(VOID)
__inline BOOLEAN HasContextType(__in FX_REQUEST_CONTEXT_TYPE Type)