64 FxRequest::~FxRequest(
116 "Memory allocation failed %!STATUS!",
133 if (
Device->GetDriverGlobals()->FxRequestParentOptimizationOn) {
152 "Could not commit FxRequest %!STATUS!",
status);
203 "Handle create failed %!STATUS!",
status);
222 "Irp %p Ownership %!FxRequestIrpOwnership! FxRequest %p, status %!STATUS!",
386 if (GetDriverGlobals()->FxVerifierIO ) {
387 (
VOID) VerifyRequestIsNotCompleted(GetDriverGlobals());
403 "Completing Cancelable WDFREQUEST %p. " 405 "This results in a race condition in the device driver that can " 406 "cause double completions. " 408 "Call WdfRequestUnmarkCancelable before WdfRequestComplete. " 410 "If WdfRequestUnmarkCancelable returns STATUS_CANCELLED, " 411 "do not complete the request until the EvtIoCancel handler is called. " 413 "The straightforward way to ensure this is to complete a canceled " 414 "request from the EvIoCancel callback.",
426 switch (m_Irp.GetMajorFunction()) {
428 length = m_Irp.GetParameterReadLength();
433 length = m_Irp.GetParameterWriteLength();
438 if (m_Irp.GetRequestorMode() ==
UserMode) {
439 length = m_Irp.GetParameterIoctlOutputBufferLength();
482 m_Irp.GetInformation() >
length) {
488 "WDFREQUEST %p, MJ 0x%x, Information 0x%I64x is greater then " 489 "buffer length 0x%x",
GetHandle(), m_Irp.GetMajorFunction(),
490 m_Irp.GetInformation(),
length);
493 data.Irp = reinterpret_cast<PIRP>(m_Irp.GetIrp());
495 data.Information = m_Irp.GetInformation();
496 data.MajorFunction = m_Irp.GetMajorFunction();
579 #if (FX_CORE_MODE == FX_CORE_KERNEL_MODE) 592 (flagsMasked != 0)) {
596 "Driver that handled WDFREQUEST 0x%p is requesting data to " 597 " be written back to the UserBuffer by returing a non zero value " 598 " in the Irp 0x%p Information field even though the OutputBufferLength " 628 "Converting WDF NTSTATUS value 0x%x...",
Status);
647 "Unknown WDF NTSTATUS 0x%x",
Status);
653 "... to %!STATUS!",
Status);
663 ASSERTMSG(
"WDFREQUEST is part of a WDFQUEUE, it could be Cancellable\n",
765 "WDFREQUEST 0x%p, PIRP 0x%p, Major Function 0x%x, completed with " 766 "outstanding references on WDFMEMORY 0x%p or 0x%p retrieved from " 781 "WDFMEMORY 0x%p, buffer %p, PMDL %p, length %I64d bytes",
790 "IOCTL output WDFMEMORY 0x%p, buffer %p, PMDL %p, length %I64d bytes",
843 pRefedDevice->ADDREF(&
irp);
863 if (pRefedDevice !=
NULL) {
864 pRefedDevice->RELEASE(&
irp);
894 Queue->RequestCompletedCallback(
this);
936 Queue->RequestCompletedCallback(
this);
972 Queue->PreRequestCompletedCallback(
this);
1017 Queue->PostRequestCompletedCallback(
this);
1062 if (m_CompletionRoutine.m_Completion !=
NULL) {
1065 "WDFREQUEST %p cannot send and forget will not execute completion " 1067 GetHandle(), m_CompletionRoutine.m_Completion);
1092 "WDFREQUEST %p cannot send and forget a create request which " 1093 "has a WDFFILEOBJECT created for it, it must have a completion " 1094 "routine and be post processsed",
GetHandle());
1322 "Attempt to get UserMode Buffer Pointer for WDFDEVICE 0x%p, " 1323 "WDFREQUEST 0x%p, %!STATUS!",
1328 "Driver must use buffered or direct I/O for this call, or use " 1329 "WdfDeviceInitSetIoInCallerContextCallback to probe and lock " 1330 "user mode memory");
1354 "WDFREQUEST %p InputBufferLength length is zero, %!STATUS!",
1379 "Attempt to get UserMode Buffer Pointer for METHOD_NEITHER " 1380 "DeviceControl 0x%x, WDFDEVICE 0x%p, WDFREQUEST 0x%p, " 1387 "Driver must use METHOD_BUFFERED or METHOD_xx_DIRECT I/O for " 1388 "this call, or use WdfDeviceInitSetIoInCallerContextCallback to " 1389 "probe and lock user mode memory %!STATUS!",
1418 "Unrecognized Major Function 0x%x on WDFDEVICE 0x%p WDFREQUEST 0x%p",
1432 "WDFREQUEST 0x%p length is zero, %!STATUS!",
1452 "WDFREQUEST 0x%p, direct io device, PMDL is NULL, " 1480 "WDFREQUEST 0x%p could not get a system address for PMDL " 1627 "WDFREQUEST 0x%p IOCTL output buffer length is zero, %!STATUS!",
1669 "Attempt to get UserMode Buffer Pointer for " 1670 "METHOD_NEITHER DeviceControl 0x%x, WDFDEVICE 0x%p, " 1671 "WDFREQUEST 0x%p, %!STATUS!",
1677 "Driver must use METHOD_BUFFERED or METHOD_xx_DIRECT " 1678 "I/O for this call, or use " 1679 "WdfDeviceInitSetIoInCallerContextCallback to probe and " 1680 "lock user mode memory");
1700 "WDFREQUEST 0x%p, METHOD_IN_DIRECT IOCTL PMDL is NULL, " 1728 "WDFREQUEST 0x%p could not get a system address for PMDL" 1781 "WDFREQUEST 0x%p has already been completed",
1836 "Already in FxIrpQueue 0x%p WDFREQUEST 0x%p %!STATUS!",
1850 status = VerifyRequestIsNotCompleted(FxDriverGlobals);
2005 "WDFREQUEST 0x%p not on IrpQueue",
2072 TagCsqContext =
NULL;
2155 "Driver is trying to reuse WDFREQUEST 0x%p while it is still " 2156 "active on WDFIOTARGET 0x%p. ",
2193 #if (FX_CORE_MODE == FX_CORE_KERNEL_MODE) 2254 if (pOldIrp !=
NULL) {
2255 FxIrp oldIrp(pOldIrp);
2284 #if (FX_CORE_MODE == FX_CORE_KERNEL_MODE) 2307 "WDFREQUEST %p doesn't belong to any queue, %!STATUS!",
2320 "Driver is trying to reuse WDFREQUEST 0x%p without " 2321 "specifying an IRP with " 2322 "WDF_REQUEST_REUSE_MUST_COMPLETE flag, %!STATUS!",
2335 "Driver is trying to reuse WDFREQUEST 0x%p holding an" 2336 "internal allocated IRP with " 2337 "WDF_REQUEST_REUSE_MUST_COMPLETE flag, %!STATUS!",
2350 "Driver is trying to reuse WDFREQUEST 0x%p with " 2351 "WDF_REQUEST_REUSE_MUST_COMPLETE flag while request is " 2352 "being referenced, reference count:%d, %!STATUS!",
2365 "IRP %p of WDFREQUEST %p doesn't have a valid" 2366 " stack location, %!STATUS!",
2537 "Attempt to release an IRP reference without adding " 2538 "one first WDFREQUEST 0x%p",
GetHandle());
2572 "Attempt to access user mode memory from the wrong process " 2573 "Irp->Tail.Overlay.Thread 0x%p, PsGetCurrentThread 0x%p, " 2605 status = VerifyRequestIsInEvtIoStopContext(FxDriverGlobals);
2622 status = VerifyRequestIsNotCancelable(FxDriverGlobals);
2753 if (FxDriverGlobals->IsVerificationEnabled(1, 11,
OkForDownLevel)) {
2756 "WDFREQUEST %p deferred the dispose operation. This normally " 2757 "indicates that at least one of its children asked for passive " 2758 "level disposal. This is not supported.",
GetHandle());
2779 "WDFREQUEST 0x%p is not owned by the driver, %!STATUS!",
2788 "WDFREQUEST 0x%p has been " 2789 "used as a TagRequest in WdfIoQueueFindRequest. " 2790 "A TagRequest cannot be used until it is retrieved " 2791 "by WdfIoQueueRetrieveFoundRequest",
2819 "WDFREQUEST 0x%p is not cancelable, %!STATUS!",
2846 "WDFREQUEST 0x%p should be unmarked cancelable by calling " 2847 "WdfRequestUnmarkCancelable, %!STATUS!",
2874 "This call is valid only in EvtIoInCallerContext callback, " 2901 "This call is valid only in EvtIoStop callback, " 2928 "WDFREQUEST 0x%p is already completed, %!STATUS!",
2963 "Request 0x%p is not returned by WdfIoQueueFindRequest, " 2984 if (IsAllocatedFromIo() ==
FALSE) {
2987 "Request 0x%p was not allocated for an incoming IRP, " 3016 "WDFREQUEST %p doesn't have an IRP, %!STATUS!",
3025 if (m_Irp.IsCurrentIrpStackLocationValid() ==
FALSE) {
3028 "IRP %p of WDFREQUEST %p doesn't have a valid" 3029 " stack location, %!STATUS!",
3051 if (GetDriverGlobals()->IsVersionGreaterThanOrEqualTo(1,11) ==
FALSE) {
3052 status = VerifyRequestIsAllocatedFromIo(FxDriverGlobals);
3059 status = VerifyRequestIsCurrentStackValid(FxDriverGlobals);
3072 if (IsCanComplete() ==
FALSE) {
3075 "IRP %p of WDFREQUEST %p cannot be completed, " 3109 if (reservedRequest && retValue == 1 &&
m_Completed) {
3115 else if (allocFromIo ==
FALSE && canComplete && retValue == 1 &&
m_Completed) {
3192 #if FX_VERBOSE_TRACE 3194 "Free FxRequest* %p memory",
this);
BOOLEAN m_ForwardRequestToParent
__inline VOID SetCompletionRoutine(__in_opt PFN_WDF_REQUEST_COMPLETION_ROUTINE CompletionRoutine=NULL, __in_opt WDFCONTEXT CompletionContext=NULL)
static _Must_inspect_result_ FxRequest * GetNextRequest(__in FxIrpQueue *IrpQueue)
VOID AddIrpReference(VOID)
__drv_restoresIRQL KIRQL __in BOOLEAN Unlock
virtual size_t GetBufferSize(VOID)
virtual VOID DeleteObject(VOID)
ULONG GetParameterReadLength(VOID)
FxRequestCompletionState SetCompletionState(__in FxRequestCompletionState NewState)
VOID StopAcknowledge(__in BOOLEAN Requeue)
MdFileObject GetFileObject(VOID)
virtual ULONG Release(__in_opt PVOID Tag=NULL, __in LONG Line=0, __in_opt PSTR File=NULL)
#define STATUS_INSUFFICIENT_RESOURCES
__in MdIrp __in PMdIoCsqIrpContext pCsqContext
_In_ ULONG _In_ ULONG _In_ ULONG Length
_Must_inspect_result_ NTSTATUS InsertHeadRequest(__inout MdIrp Irp, __in_opt PMdIoCsqIrpContext CsqContext, __out_opt ULONG *pRequestCount)
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
#define FXREQUEST_QUEUE_TAG
LIST_ENTRY m_OwnerListEntry
_Must_inspect_result_ _In_ WDFQUEUE _In_opt_ WDFREQUEST _In_opt_ WDFFILEOBJECT _Inout_opt_ PWDF_REQUEST_PARAMETERS Parameters
_In_ WDFIOTARGET _In_ PWDF_REQUEST_COMPLETION_PARAMS Params
VOID SetStatus(__in NTSTATUS Status)
_Must_inspect_result_ NTSTATUS Commit(__in_opt PWDF_OBJECT_ATTRIBUTES Attributes, __out_opt WDFOBJECT *ObjectHandle, __in_opt FxObject *Parent=NULL, __in BOOLEAN AssignDriverAsDefaultParent=TRUE)
ActualNumberDriverObjects * sizeof(PDRIVER_OBJECT)) PDRIVER_OBJECT *DriverObjectList
MdIrp GetNextRequest(__out PMdIoCsqIrpContext *pCsqContext)
FxIoQueue * m_ForwardProgressQueue
__inline WDF_DEVICE_IO_TYPE GetIoType(VOID)
#define UNREFERENCED_PARAMETER(P)
WDFDEVICE __inline GetHandle(VOID)
#define STATUS_INVALID_PARAMETER
_Must_inspect_result_ _In_ WDFDEVICE _In_ PIRP _In_ WDFQUEUE Queue
_In_ WDFREQUEST _In_ PWDF_REQUEST_REUSE_PARAMS ReuseParams
GLuint GLuint GLsizei count
BOOLEAN IsCurrentIrpStackLocationValid(VOID)
_Must_inspect_result_ NTSTATUS GetParameters(__out PWDF_REQUEST_PARAMETERS Parameters)
pRequest GetFxIrp() -> GetIoIrp() ->SetUserModeDriverInitiatedIo(IsUserModeDriverInitiated)
_Must_inspect_result_ NTSTATUS GetFileObject(__deref_out_opt FxFileObject **pFileObject)
CCHAR __inline GetPriorityBoost(VOID)
#define STATUS_INVALID_DEVICE_REQUEST
UCHAR m_RequestBaseStaticFlags
IN PVOID IN PVOID IN USHORT IN USHORT Size
virtual _Must_inspect_result_ NTSTATUS QueryInterface(__in FxQueryInterfaceParams *Params)
struct _WDF_REQUEST_PARAMETERS WDF_REQUEST_PARAMETERS
static _Must_inspect_result_ NTSTATUS _Create(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in_opt PWDF_OBJECT_ATTRIBUTES RequestAttributes, __in_opt MdIrp Irp, __in_opt FxIoTarget *Target, __in FxRequestIrpOwnership Ownership, __in FxRequestConstructorCaller Caller, __deref_out FxRequest **Request)
static _Must_inspect_result_ NTSTATUS _CreateForPackage(__in CfxDevice *Device, __in PWDF_OBJECT_ATTRIBUTES RequestAttributes, __in MdIrp Irp, __deref_out FxRequest **Request)
BOOLEAN __inline IsAllocatedFromIo(VOID)
__inline VOID ClearVerifierFlags(__in SHORT Flags)
VOID SetDeviceBase(__in CfxDeviceBase *DeviceBase)
virtual _Must_inspect_result_ PMDL GetMdl(VOID)
_Must_inspect_result_ NTSTATUS GetMemoryObject(__deref_out IFxMemory **Memory, __out PVOID *Buffer, __out size_t *Length)
#define STATUS_WDF_TOO_FRAGMENTED
PFILE_OBJECT MdFileObject
LIST_ENTRY m_OwnerListEntry2
FxRequest(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in MdIrp Irp, __in FxRequestIrpOwnership Ownership, __in FxRequestConstructorCaller Caller, __in USHORT ObjectSize)
_In_ WDFREQUEST _In_ NTSTATUS _In_ ULONG_PTR Information
_Must_inspect_result_ FORCEINLINE BOOLEAN IsListEmpty(_In_ const LIST_ENTRY *ListHead)
VOID CreateCompleted(__in FxIrp *Irp)
VOID DeleteEarlyDisposedObject(VOID)
#define FxVerifierBugCheck(FxDriverGlobals, Error,...)
static PFX_POOL_HEADER _CleanupPointer(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in FxObject *Object)
#define STATUS_BUFFER_TOO_SMALL
VOID PostProcessSendAndForget(VOID)
VOID FreeRequestMemory(__in FxRequest *Request)
static __inline VOID MxFreePool(__in PVOID Ptr)
#define STATUS_INTERNAL_ERROR
__inline VOID SetVerifierFlags(__in SHORT Flags)
BOOLEAN EarlyDispose(VOID)
NTSTATUS SetInformation(__in ULONG_PTR Information)
_Must_inspect_result_ NTSTATUS InsertTailIrpQueue(__in FxIrpQueue *IrpQueue, __out_opt ULONG *pRequestCount)
VOID PreProcessCompletionForDriverRequest(__in FxRequestCompletionState State, __in FxIoQueue *Queue)
#define TRACE_LEVEL_VERBOSE
ULONG GetParameterIoctlInputBufferLength(VOID)
#define TRACE_LEVEL_FATAL
WDFOBJECT_OFFSET_ALIGNED m_OutputBufferOffset
#define FACILITY_DRIVER_FRAMEWORK
#define ASSERTMSG(msg, exp)
static struct _test_info info[]
_In_ PWDFDEVICE_INIT _In_ PWDF_OBJECT_ATTRIBUTES RequestAttributes
virtual ULONG Release(__in PVOID Tag, __in LONG Line, __in_opt PSTR File)
virtual ULONG AddRefOverride(__in WDFOBJECT_OFFSET Offset, __in PVOID Tag=NULL, __in LONG Line=0, __in_opt PSTR File=NULL)
GLenum GLuint GLenum GLsizei length
PVOID __inline GetObjectHandle(VOID)
__inline WDF_FILEOBJECT_CLASS GetFileObjectClass(VOID)
FxContextHeader * pHeader
VOID PreProcessSendAndForget(VOID)
VOID SkipCurrentIrpStackLocation(VOID)
virtual VOID ReleaseAndRestore(__in FxRequestBase *Request)
_Must_inspect_result_ BOOLEAN IsVersionGreaterThanOrEqualTo(__in ULONG Major, __in ULONG Minor)
#define FXREQUEST_FWDPRG_TAG
VOID PostProcessCompletionForDriverRequest(__in FxRequestCompletionState State, __in FxIoQueue *Queue)
__inline PVOID GetTraceObjectHandle(VOID)
__inline VOID RequestCompletedCallback(__in FxRequest *Request)
_Must_inspect_result_ NTSTATUS _In_ FxRequest * TagRequest
#define FXREQUEST_STATE_TAG
virtual WDFMEMORY GetHandle(VOID)
#define STATUS_WDF_PAUSED
FxRequestOutputBuffer m_OutputBuffer
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject
VOID SetFlags(__in ULONG Flags)
MdIrp RemoveRequest(__in PMdIoCsqIrpContext Context)
virtual ULONG ReleaseOverride(__in WDFOBJECT_OFFSET Offset, __in PVOID Tag=NULL, __in LONG Line=0, __in_opt PSTR File=NULL)
#define METHOD_OUT_DIRECT
_Must_inspect_result_ NTSTATUS InsertTailRequest(__inout MdIrp Irp, __in_opt PMdIoCsqIrpContext CsqContext, __out_opt ULONG *pRequestCount)
virtual _Must_inspect_result_ PVOID GetBuffer(VOID)
PFX_DRIVER_GLOBALS pFxDriverGlobals
BOOLEAN __inline FxIsFileObjectOptional(__in WDF_FILEOBJECT_CLASS FileObjectClass)
KPROCESSOR_MODE GetRequestorMode(VOID)
enum _WDF_REQUEST_TYPE WDF_REQUEST_TYPE
static __inline PVOID MxGetSystemAddressForMdlSafe(__inout PMDL Mdl, __in ULONG Priority)
__inline BOOLEAN IsReserved()
#define STATUS_WDF_INTERNAL_ERROR
#define NT_SUCCESS(StatCode)
VOID CompleteRequest(__in_opt CCHAR PriorityBoost=IO_NO_INCREMENT)
WDF_FILEOBJECT_CLASS __inline FxFileObjectClassNormalize(__in WDF_FILEOBJECT_CLASS FileObjectClass)
MdIrp SetSubmitIrp(__in_opt MdIrp NewIrp, __in BOOLEAN FreeIrp=TRUE)
VOID PostProcessCompletionForReserved(__in FxRequestCompletionState State, __in FxIoQueue *Queue)
VOID SetInformation(__in ULONG_PTR Information)
_Must_inspect_result_ BOOLEAN IsVerificationEnabled(__in ULONG Major, __in ULONG Minor, __in FxVerifierDownlevelOption DownLevel)
#define IRP_MJ_INTERNAL_DEVICE_CONTROL
__inline FxIoTarget * GetTarget(VOID)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
_In_ WDFREQUEST _In_ BOOLEAN Requeue
static _Must_inspect_result_ NTSTATUS _GetFileObjectFromWdm(__in FxDevice *pDevice, __in WDF_FILEOBJECT_CLASS FileObjectClass, __in_opt MdFileObject pWdmFileObject, __deref_out_opt FxFileObject **ppFxFileObject)
static __inline FxRequest * RetrieveFromCsqContext(__in PMdIoCsqIrpContext pCsqContext)
VOID FX_VF_METHOD(FxRequest, VerifyCompleteInternal)(_In_ PFX_DRIVER_GLOBALS FxDriverGlobals
FxRequestConstructorCaller
VOID SetCancel(__in BOOLEAN Cancel)
#define WDF_REQUEST_REUSE_MUST_COMPLETE
_Must_inspect_result_ _In_ WDFREQUEST _In_ size_t _Out_ WDFMEMORY * MemoryObject
#define InterlockedDecrement
_Must_inspect_result_ NTSTATUS FxValidateObjectAttributes(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in PWDF_OBJECT_ATTRIBUTES Attributes, __in ULONG Flags=FX_VALIDATE_OPTION_NONE_SPECIFIED)
__inline VOID SetMdl(PMDL Mdl)
virtual WDFMEMORY GetHandle(VOID)
WDFOBJECT_OFFSET_ALIGNED m_SystemBufferOffset
_Must_inspect_result_ NTSTATUS _In_ BOOLEAN Requeue
VOID ClearEvtCallbacks(VOID)
VOID ReturnReservedRequest(__in FxRequest *ReservedRequest)
#define _Must_inspect_result_
_Must_inspect_result_ _In_ WDFDEVICE Device
ULONG GetParameterWriteLength(VOID)
_Must_inspect_result_ NTSTATUS ValidateTarget(__in FxIoTarget *Target)
_Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN _In_opt_ PVOID Tag
__inline BOOLEAN IsCancelRoutineSet(VOID)
static __inline MdEThread GetCurrentEThread()
FxPkgGeneral * m_PkgGeneral
virtual _Must_inspect_result_ PMDL GetMdl(VOID)
_Must_inspect_result_ NTSTATUS Reuse(__in PWDF_REQUEST_REUSE_PARAMS ReuseParams)
#define KMDF_ONLY_CODE_PATH_ASSERT()
#define STATUS_WDF_REQUEST_INVALID_STATE
VOID __inline DestroyChildren(VOID)
#define TRACE_LEVEL_ERROR
_In_ ULONG _In_ ULONG Offset
ULONG_PTR GetInformation()
SHORT GetVerifierFlagsLocked(VOID)
__inline BOOLEAN HasContext(VOID)
FxRequestFromLookaside(__in CfxDevice *Device, __in MdIrp Irp)
#define IRP_INPUT_OPERATION
__inline PFX_DRIVER_GLOBALS GetDriverGlobals(VOID)
#define InterlockedIncrement
KPROCESSOR_MODE GetRequestorMode(VOID)
VOID ReleaseIrpReference(VOID)
#define STATUS_ACCESS_VIOLATION
VOID Request VerifyRequestIsDriverOwned(FxDriverGlobals)
__inline BOOLEAN IsRequestForwardedToParent(VOID)
ULONG GetParameterIoctlOutputBufferLength(VOID)
#define FXREQUEST_DCRC_TAG
#define InitializeListHead(ListHead)
#define STATUS_DEVICE_BUSY
VOID CopyParameters(_Out_ PWDF_REQUEST_PARAMETERS Parameters)
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGPNP, "Enter, WDFDEVICE %p", Device)
#define FIELD_OFFSET(t, f)
BOOLEAN __inline IsCanComplete(VOID)
ULONG GetParameterIoctlCodeBufferMethod(VOID)
VOID Reuse(__in NTSTATUS Status=STATUS_SUCCESS)
ULONG __inline AddRef(__in_opt PVOID Tag=NULL, __in LONG Line=0, __in_opt PSTR File=NULL)
#define FXREQUEST_COMPLETE_TAG
_Must_inspect_result_ NTSTATUS RemoveFromIrpQueue(__in FxIrpQueue *IrpQueue)
VOID DeleteFromFailedCreate(VOID)
LIST_ENTRY m_ForwardProgressList
__inline VOID ClearFieldsForReuse(VOID)
FxRequestContext * m_RequestContext
_Must_inspect_result_ NTSTATUS _In_ FxIrpQueue * IrpQueue
ULONG_PTR GetInformation(VOID)
UCHAR GetMinorFunction(VOID)
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFWAITLOCK * Lock
__inline CfxDevice * GetDevice(VOID)
_Must_inspect_result_ NTSTATUS GetDeviceControlOutputMemoryObject(__deref_out IFxMemory **MemoryObject, __out PVOID *Buffer, __out size_t *Length)
__inline VOID SetMdl(__in PMDL Mdl)
MdIoCsqIrpContext m_CsqContext
virtual _Must_inspect_result_ NTSTATUS QueryInterface(__in FxQueryInterfaceParams *Params)
ULONG GetParameterIoctlCode(VOID)
_Must_inspect_result_ NTSTATUS InsertHeadIrpQueue(__in FxIrpQueue *IrpQueue, __out_opt ULONG *pRequestCount)
virtual size_t GetBufferSize(VOID)
UCHAR GetMajorFunction(VOID)
NTSTATUS CompleteInternal(__in NTSTATUS Status)
__inline VOID MarkRemovedFromIrpQueue(VOID)
static _Must_inspect_result_ NTSTATUS PeekRequest(__in FxIrpQueue *IrpQueue, __in_opt FxRequest *TagRequest, __in_opt MdFileObject FileObject, __out_opt PWDF_REQUEST_PARAMETERS Parameters, __deref_out FxRequest **ppOutRequest)
_Must_inspect_result_ NTSTATUS PeekRequest(__in_opt PMdIoCsqIrpContext TagContext, __in_opt MdFileObject FileObject, __out FxRequest **ppOutRequest)
VOID _In_ NTSTATUS Status
BOOLEAN m_NextStackLocationFormatted
__inline WDFREQUEST GetHandle(VOID)
FxVerifierDbgBreakPoint(pFxDriverGlobals)
BOOLEAN __inline IsAllocatedDriver(VOID)
VOID PostProcessCompletion(__in FxRequestCompletionState State, __in FxIoQueue *Queue)
#define IRP_MJ_DEVICE_CONTROL
virtual PVOID GetBuffer(VOID)
_Must_inspect_result_ _In_ WDFDMAENABLER _In_ _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes
FxRequestSystemBuffer m_SystemBuffer
VOID AssignMemoryBuffers(__in WDF_DEVICE_IO_TYPE IoType)