86 if (FxDriverGlobals->IsVersionGreaterThanOrEqualTo(1, 11)) {
150 #if (FX_CORE_MODE == FX_CORE_KERNEL_MODE) 193 flags = GetVerifierFlagsLocked();
197 "Driver is trying to delete WDFREQUEST 0x%p while it is still " 198 "active on WDFIOTARGET 0x%p. ",
199 GetTraceObjectHandle(), GetTarget()->
GetHandle());
264 #if (FX_CORE_MODE == FX_CORE_KERNEL_MODE) 325 "WDFIOTARGET %p is closed, cannot validate, %!STATUS!",
341 "Could not allocate irp for WDFREQUEST %p for WDFIOTARGET %p," 366 "Cannot reallocate PIRP for WDFREQUEST %p using WDFIOTARGET %p," 370 if (pOldIrp !=
NULL) {
372 "Freeing irp %p from WDFREQUEST %p\n",
374 FxIrp oldIrp(pOldIrp);
387 MdIrp pOldIrp, pIrpToFree;
392 if (NewIrp !=
NULL) {
400 if (pOldIrp !=
NULL &&
404 FxIrp oldIrp(pOldIrp);
408 pIrpToFree = pOldIrp;
591 "Request %p, PIRP %p, cancel result %d",
610 "Request %p, PIRP %p, completed synchronously in cancel call, " 618 "Could not cancel request %p, already completed",
this);
718 "Failed to initialize timer for request %p",
this);
725 if (pResult !=
NULL) {
796 "Request %p, did not cancel timer",
this);
806 "Request %p, canceled timer successfully",
this);
_Must_inspect_result_ NTSTATUS CreateTimer(VOID)
CHECK_RETURN_IF_USER_MODE __inline NTSTATUS Initialize(__in_opt PVOID TimerContext, __in MdDeferredRoutine TimerCallback, __in LONG Period)
virtual BOOLEAN Dispose(VOID)
#define STATUS_INSUFFICIENT_RESOURCES
_Must_inspect_result_ _In_ PWDF_DPC_CONFIG _In_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFDPC * Dpc
VOID ClearFieldsForReuse(VOID)
#define UNREFERENCED_PARAMETER(P)
_Must_inspect_result_ BOOLEAN CancelTimer(VOID)
__inline FxIrp * GetSubmitFxIrp(VOID)
#define STATUS_REQUEST_NOT_ACCEPTED
UCHAR m_RequestBaseStaticFlags
BOOLEAN __inline IsAllocatedFromIo(VOID)
#define DECLSPEC_NORETURN
GLbitfield GLuint64 timeout
#define FxVerifierBugCheck(FxDriverGlobals, Error,...)
#define STATUS_INVALID_DEVICE_STATE
LONG m_IrpCompletionReferenceCount
WDFIOTARGET GetHandle(VOID)
VOID StartTimer(__in LONGLONG Timeout)
GLenum const GLfloat * params
#define TRACE_LEVEL_VERBOSE
WDFOBJECT_OFFSET_ALIGNED m_OutputBufferOffset
VOID CompleteSubmittedNoContext(VOID)
#define InterlockedCompareExchangePointer
VOID MarkDisposeOverride(__in FxObjectLockState State=ObjectLock)
#define PAGED_CODE_LOCKED()
virtual VOID ReleaseAndRestore(__in FxRequestBase *Request)
__inline PVOID GetTraceObjectHandle(VOID)
VOID __inline SetPriorityBoost(CCHAR PriorityBoost)
__inline VOID Start(__in LARGE_INTEGER DueTime, __in ULONG TolerableDelay=0)
_In_opt_ PVOID _In_opt_ PVOID SystemArgument1
VOID CopyStatus(_Out_ PIO_STATUS_BLOCK StatusBlock)
WDFCONTEXT m_TargetCompletionContext
__inline MdIrp GetSubmitIrp(VOID)
#define NT_SUCCESS(StatCode)
__inline VOID VerifierClearFormatted(VOID)
MdIrp SetSubmitIrp(__in_opt MdIrp NewIrp, __in BOOLEAN FreeIrp=TRUE)
PFN_WDF_REQUEST_COMPLETION_ROUTINE ClearCompletionRoutine(VOID)
VOID TimerCallback(__in FxRequestBase *Request)
VOID CompleteSubmitted(VOID)
VOID CompleteCanceledRequest(__in FxRequestBase *Request)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
virtual VOID Dispose(VOID)
virtual VOID CopyParameters(__in FxRequestBase *Request)
FxRequestConstructorCaller
struct _SINGLE_LIST_ENTRY * Next
#define InterlockedDecrement
VOID __inline FxMdlFree(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in PMDL Mdl)
virtual ~FxRequestBase(VOID)
static MdDeferredRoutineType _TimerDPC
WDFOBJECT_OFFSET_ALIGNED m_SystemBufferOffset
VOID ZeroOutDriverContext(VOID)
static _Must_inspect_result_ MdIrp AllocateIrp(_In_ CCHAR StackSize, _In_opt_ FxDevice *Device=NULL)
__inline VOID SetCompleted(__in BOOLEAN Value)
#define _Must_inspect_result_
_Must_inspect_result_ NTSTATUS ValidateTarget(__in FxIoTarget *Target)
#define TRACE_LEVEL_ERROR
_In_opt_ PVOID _In_opt_ PVOID _In_opt_ PVOID SystemArgument2
VOID FX_VF_METHOD(FxRequestBase, VerifyDispose)(_In_ PFX_DRIVER_GLOBALS FxDriverGlobals)
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
__inline PFX_DRIVER_GLOBALS GetDriverGlobals(VOID)
__inline LONG FxInterlockedIncrementGTZero(__inout LONG volatile *Target)
SINGLE_LIST_ENTRY m_DrainSingleEntry
PFN_WDF_REQUEST_COMPLETION_ROUTINE m_Completion
__inline VOID CallCleanup(VOID)
#define InitializeListHead(ListHead)
WDF_REQUEST_COMPLETION_PARAMS m_CompletionParams
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGPNP, "Enter, WDFDEVICE %p", Device)
VOID ContextReleaseAndRestore(VOID)
DECLSPEC_NORETURN VOID FatalError(__in NTSTATUS Status)
FxRequestContext * m_RequestContext
FX_TRACK_DRIVER(fxDriverGlobals)
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFWAITLOCK * Lock
#define RtlZeroMemory(Destination, Length)
static SERVICE_STATUS status
BOOLEAN m_NextStackLocationFormatted
__inline WDFREQUEST GetHandle(VOID)
FxVerifierDbgBreakPoint(pFxDriverGlobals)
_Must_inspect_result_ __inline BOOLEAN Stop(VOID)