149 "Created WDFREQUEST %p, %!STATUS!",
151 #endif // FX_VERBOSE_TRACE 237 "Irp %p RequestFreesIrp %d WDFREQUEST %p created",
239 #endif // FX_VERBOSE_TRACE 246 #define WDF_REQUEST_REUSE_VALID_FLAGS_V1_9 \ 247 (WDF_REQUEST_REUSE_SET_NEW_IRP) 249 #define WDF_REQUEST_REUSE_VALID_FLAGS \ 250 (WDF_REQUEST_REUSE_SET_NEW_IRP | WDF_REQUEST_REUSE_MUST_COMPLETE) 304 "ReuseParams Size %d, expected %d %!STATUS!",
319 "ReuseParams Flags 0x%x, valid mask 0x%x, %!STATUS!",
433 "Completing WDFREQUEST 0x%p, %!STATUS!",
448 WDFEXPORT(WdfRequestCompleteWithPriorityBoost)(
501 "Completing WDFREQUEST 0x%p, %!STATUS!",
517 WDFEXPORT(WdfRequestCompleteWithInformation)(
569 "Completing WDFREQUEST 0x%p, %!STATUS!",
631 "Enter: WDFREQUEST 0x%p, Information 0x%p",
633 #endif // FX_VERBOSE_TRACE 686 WDFEXPORT(WdfRequestRetrieveInputMemory)(
767 "Enter: WDFREQUEST 0x%p",
Request);
768 #endif // FX_VERBOSE_TRACE 778 "This call is not valid on the Read request, you should call" 779 " WdfRequestRetrieveOutputMemory to get the Memory for WDFREQUEST " 798 WDFEXPORT(WdfRequestRetrieveOutputMemory)(
881 "Enter: WDFREQUEST 0x%p",
Request);
882 #endif // FX_VERBOSE_TRACE 894 "This call is not valid on the Write request, you should call" 895 " WdfRequestRetrieveInputMemory to get the Memory for WDFREQUEST " 921 WDFEXPORT(WdfRequestRetrieveInputBuffer)(
1016 #if FX_VERBOSE_TRACE 1018 "Enter: WDFREQUEST 0x%p",
Request);
1019 #endif //FX_VERBOSE_TRACE 1029 "This call is not valid on the read request, you should call" 1030 " WdfRequestRetrieveOutputBuffer to get the buffer for WDFREQUEST " 1044 "WDFREQUEST 0x%p buffer size %I64d is less than RequiredLength " 1065 WDFEXPORT(WdfRequestRetrieveOutputBuffer)(
1161 #if FX_VERBOSE_TRACE 1163 "Enter: WDFREQUEST 0x%p",
Request);
1164 #endif //FX_VERBOSE_TRACE 1176 "This call is not valid on write request, you should call" 1177 " WdfRequestRetrieveInputBuffer to get the buffer for WDFREQUEST " 1198 "WDFREQUEST 0x%p buffer size %I64d is less than RequiredLength " 1219 WDFEXPORT(WdfRequestRetrieveUnsafeUserInputBuffer)(
1289 #if FX_VERBOSE_TRACE 1291 "Enter: WDREQUEST 0x%p",
Request);
1292 #endif // FX_VERBOSE_TRACE 1337 "This call is not valid on read request, you should call" 1338 " WdfRequestRetrieveUnsafeUserOutputBuffer to get the buffer for " 1349 "This call is not valid on internal-ioctl request, you should call" 1350 " safer WdfRequestRetrieveInputBuffer to get the buffer for " 1364 "WDFREQUEST %p buffer size %d is less than RequiredLength %I64d," 1388 "WDFREQUEST 0x%p buffer size %d is less than RequiredLength " 1407 "Error: This call is valid only on method-neither " 1408 "ioctl and write WDFREQUEST %p, %!STATUS!",
1423 WDFEXPORT(WdfRequestRetrieveUnsafeUserOutputBuffer)(
1520 #if FX_VERBOSE_TRACE 1522 "Enter: WDFREQUEST 0x%p",
pRequest);
1523 #endif // FX_VERBOSE_TRACE 1538 "This call is not valid on Write request, you should call" 1539 " WdfRequestRetrieveUnsafeUserInputBuffer to get the buffer for " 1551 "This call is not valid on an internal IOCTL request, you should call" 1552 " safer WdfRequestRetrieveOutputBuffer to get the buffer for " 1566 "WDFREQUEST 0x%p buffer size %d is less than RequiredLength " 1590 "WDFREQUEST 0x%p buffer size %d is less than RequiredLength " 1610 "Error: This call is valid only on method-neither ioctl and read " 1625 WDFEXPORT(WdfRequestRetrieveInputWdmMdl)(
1697 #if FX_VERBOSE_TRACE 1699 "Enter: WDFREQUEST 0x%p",
Request);
1700 #endif // FX_VERBOSE_TRACE 1708 "This call is not valid on the Read request, you should call" 1709 " WdfRequestRetrieveOutputMdl to get the Mdl for WFDREQUEST 0x%p, " 1725 WDFEXPORT(WdfRequestRetrieveOutputWdmMdl)(
1798 #if FX_VERBOSE_TRACE 1800 "Enter: WDFREQUEST 0x%p",
Request);
1801 #endif // FX_VERBOSE_TRACE 1810 "This call is not valid on the Write request, you should call" 1811 " WdfRequestRetrieveInputMemory to get the Memory for WDFREQUEST 0x%p, " 1858 #define GLOBALS_ACTION(globals) ((ULONG)(ULONG_PTR)(globals)) 1859 #define PGLOBALS_ACTION(globals) ((PULONG)(PULONG_PTR)(globals)) 1861 #define GLOBALS_DEVICE(globals) ((FxDevice*)(ULONG_PTR)(globals)) 1862 #define PGLOBALS_DEVICE(globals) ((FxDevice**)(PULONG_PTR)(globals)) 1864 #define WDFREQUEST_FXREQUEST(handle) ((FxRequest*)(handle)) 1865 #define WDFIOTARGET_FXIOTARGET(handle) ((FxIoTarget*)(handle)) 1965 "WDFREQUEST %p must be a WDFQUEUE presented request",
1981 "Cannot send-and-forget WDFREQUEST 0x%p with formatted IO" 1982 " context, %!STATUS!",
2033 "WDFREQUEST %p is a WDFQUEUE presented request with no" 2034 " completion routine, %!STATUS!",
2048 #if FX_VERBOSE_TRACE 2052 "Enter: WDFIOTARGET %p, WDFREQUEST %p",
2055 #endif // FX_VERBOSE_TRACE 2083 #if FX_VERBOSE_TRACE 2088 #endif // FX_VERBOSE_TRACE 2096 #if FX_VERBOSE_TRACE 2100 "Sending FxRequest %p (WDFREQUEST %p), Irp %p",
2104 #endif // FX_VERBOSE_TRACE 2184 "Enter: WDFREQUEST %p to be cancelled",
Request);
2188 #if FX_VERBOSE_TRACE 2191 #endif // FX_VERBOSE_TRACE 2200 WDFEXPORT(WdfRequestIsFrom32BitProcess)(
2233 #if FX_VERBOSE_TRACE 2235 "Enter: WDFREQUEST %p is from 32 bit process = %d",
2237 #endif // FX_VERBOSE_TRACE 2246 WDFEXPORT(WdfRequestFormatRequestUsingCurrentType)(
2280 #if FX_VERBOSE_TRACE 2282 "Enter: WDFREQUEST %p",
Request);
2283 #endif // FX_VERBOSE_TRACE 2317 WDFEXPORT(WdfRequestWdmFormatUsingStackLocation)(
2361 #if FX_VERBOSE_TRACE 2363 "Enter: WDFREQUEST %p",
Request);
2364 #endif // FX_VERBOSE_TRACE 2398 WDFEXPORT(WdfRequestSetCompletionRoutine)(
2421 #if FX_VERBOSE_TRACE 2424 "Enter: WDFREQUEST %p, Routine %p, Context %p",
2426 #endif // FX_VERBOSE_TRACE 2460 #if FX_VERBOSE_TRACE 2463 #endif // FX_VERBOSE_TRACE 2467 "Params size %d incorrect, expected %d",
2487 WDFEXPORT(WdfRequestGetCompletionParams)(
2508 #if FX_VERBOSE_TRACE 2511 #endif // FX_VERBOSE_TRACE 2518 "Params Size 0x%x, expected 0x%x",
2576 #if FX_VERBOSE_TRACE 2578 "Enter: WDFREQUEST 0x%p",
Request);
2579 #endif // FX_VERBOSE_TRACE 2585 "WDFREQUEST is already completed 0x%p, %!STATUS!",
2683 #if FX_VERBOSE_TRACE 2685 "Enter: WDFREQUEST 0x%p",
Request);
2686 #endif // FX_VERBOSE_TRACE 2703 "GetFileobject failed with %!STATUS!",
status);
2722 WDFEXPORT(WdfRequestProbeAndLockUserBufferForRead)(
2788 #if FX_VERBOSE_TRACE 2790 "Enter: WDFREQUEST 0x%p",
Request);
2791 #endif // FX_VERBOSE_TRACE 2810 "ProbeAndLockForRead failed with %!STATUS!",
status);
2824 WDFEXPORT(WdfRequestProbeAndLockUserBufferForWrite)(
2889 #if FX_VERBOSE_TRACE 2891 "Enter: WDFREQUEST 0x%p",
Request);
2892 #endif // FX_VERBOSE_TRACE 2910 "ProbeAndLockForWrite failed with %!STATUS!",
status);
3004 #if FX_VERBOSE_TRACE 3006 "Enter: WDFREQUEST 0x%p",
Request);
3007 #endif // FX_VERBOSE_TRACE 3028 "WDFREQUEST %p doesn't belong to any queue",
3043 "Getting queue handle for Create request is " 3044 "not allowed for WDFREQUEST 0x%p",
pRequest);
3069 FxDriverGlobals->IsVersionGreaterThanOrEqualTo(1,11) ==
FALSE) {
3072 "WDFREQUEST %p doesn't belong to any queue, %!STATUS!",
3081 status =
request->VerifyRequestCanBeCompleted(FxDriverGlobals);
3205 "WDFREQUEST %p doesn't belong to any queue, %!STATUS!",
3229 "IRP %p of WDFREQUEST %p doesn't enough stack " 3230 "locations, %!STATUS!",
3244 WDFEXPORT(WdfRequestForwardToParentDeviceIoQueue)(
3320 "ForwardOptions %p Size incorrect, expected %d, " 3321 "got %d, %!STATUS!",
3335 "ForwardOptions %p Flags 0x%x invalid, " 3336 "valid mask is 0x%x, %!STATUS!",
3348 status =
request->GetCurrentQueue()->ForwardRequestToParent(
3413 #if FX_VERBOSE_TRACE 3415 "Enter: WDFREQUEST 0x%p",
Request);
3416 #endif // FX_VERBOSE_TRACE 3424 "WDFREQUEST %p doesn't belong to any queue %!STATUS!",
3480 #if FX_VERBOSE_TRACE 3482 "Enter: WDFREQUEST 0x%p",
Request);
3483 #endif // FX_VERBOSE_TRACE 3487 "WDFREQUEST %p doesn't belong to any queue",
3554 #if FX_VERBOSE_TRACE 3556 "Enter: WDFREQUEST 0x%p",
Request);
3557 #endif // FX_VERBOSE_TRACE 3561 "WDFREQUEST %p doesn't belong to any queue %!STATUS!",
3616 #if FX_VERBOSE_TRACE 3618 "Enter: WDFREQUEST 0x%p",
Request);
3619 #endif // FX_VERBOSE_TRACE 3623 "WDFREQUEST %p doesn't belong to any queue %!STATUS!",
3651 status =
pRequest->VerifyRequestIsNotCancelable(FxDriverGlobals);
3756 #if FX_VERBOSE_TRACE 3758 "Enter: WDFREQUEST 0x%p",
Request);
3759 #endif // FX_VERBOSE_TRACE _Must_inspect_result_ NTSTATUS FX_VF_FUNCTION() VerifyWdfRequestForwardToParentDeviceIoQueue(_In_ PFX_DRIVER_GLOBALS fxDriverGlobals, _In_ FxRequest *request)
__inline VOID SetCompletionRoutine(__in_opt PFN_WDF_REQUEST_COMPLETION_ROUTINE CompletionRoutine=NULL, __in_opt WDFCONTEXT CompletionContext=NULL)
_Must_inspect_result_ NTSTATUS CreateTimer(VOID)
_In_ WDFREQUEST _In_ PFN_WDF_REQUEST_CANCEL EvtRequestCancel
__in WDFREQUEST __in PIO_STACK_LOCATION Stack
ULONG GetParameterReadLength(VOID)
VOID StopAcknowledge(__in BOOLEAN Requeue)
#define _Must_inspect_result_
_Must_inspect_result_ __drv_maxIRQL(DISPATCH_LEVEL) NTSTATUS STDCALL WDFEXPORT(WdfRequestCreate)(__in PWDF_DRIVER_GLOBALS DriverGlobals
void CheckUnionAssumptions(VOID)
_In_ ULONG _In_ ULONG _In_ ULONG Length
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
_Must_inspect_result_ __in_opt PWDF_OBJECT_ATTRIBUTES __in MdIrp __in BOOLEAN RequestFreesIrp
#define WDFIOTARGET_FXIOTARGET(handle)
#define STATUS_INFO_LENGTH_MISMATCH
_Must_inspect_result_ __in WDFREQUEST __in WDFIOTARGET __in_opt PWDF_REQUEST_SEND_OPTIONS Options
VOID CopyToNextIrpStackLocation(__in PIO_STACK_LOCATION Stack)
_Must_inspect_result_ _In_ WDFQUEUE _In_opt_ WDFREQUEST _In_opt_ WDFFILEOBJECT _Inout_opt_ PWDF_REQUEST_PARAMETERS Parameters
__inline NTSTATUS Complete(__in NTSTATUS Status)
_In_ WDFIOTARGET _In_ PWDF_REQUEST_COMPLETION_PARAMS Params
CCHAR GetCurrentIrpStackLocationIndex()
_In_ WDFREQUEST _In_opt_ PFN_WDF_REQUEST_COMPLETION_ROUTINE _In_opt_ __drv_aliasesMem WDFCONTEXT CompletionContext
MdDeviceObject GetDeviceObject(VOID)
_Must_inspect_result_ _In_ WDFREQUEST _In_ WDFQUEUE _In_ PWDF_REQUEST_FORWARD_OPTIONS ForwardOptions
__inline WDF_DEVICE_IO_TYPE GetIoType(VOID)
#define STATUS_INVALID_PARAMETER
EVT_WDF_REQUEST_CANCEL * PFN_WDF_REQUEST_CANCEL
_In_ WDFREQUEST _In_ PWDF_REQUEST_REUSE_PARAMS ReuseParams
_Must_inspect_result_ __in WDFREQUEST __in size_t __deref_out_bcount Length PVOID * Buffer
WDFCASSERT(sizeof(WDF_DRIVER_CONFIG_V1_0)==sizeof(WDF_DRIVER_CONFIG_V1_1))
#define FX_VF_FUNCTION(fnName)
_Must_inspect_result_ FxIoQueue * GetCurrentQueue(VOID)
__inline VOID CopyCompletionParams(__in PWDF_REQUEST_COMPLETION_PARAMS Params)
static FxDevice * GetFxDevice(__in MdDeviceObject DeviceObject)
#define __deref_out_bcount(size)
_Must_inspect_result_ NTSTATUS GetParameters(__out PWDF_REQUEST_PARAMETERS Parameters)
FxObjectHandleGetPtr(pFxDriverGlobals, IoTarget, FX_TYPE_IO_TARGET,(PVOID *)&pTarget)
_Must_inspect_result_ NTSTATUS GetFileObject(__deref_out_opt FxFileObject **pFileObject)
__inline FxIrp * GetSubmitFxIrp(VOID)
#define STATUS_INVALID_DEVICE_REQUEST
FxVerifierDbgBreakPoint(pFxDriverGlobals)
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)
FxPointerNotNull(pFxDriverGlobals, Request)
_Must_inspect_result_ __in WDFREQUEST __in size_t __deref_out_bcount_opt Length PVOID * OutputBuffer
_Must_inspect_result_ NTSTATUS GetDeviceControlOutputMdl(__out PMDL *pMdl)
_Must_inspect_result_ NTSTATUS GetMemoryObject(__deref_out IFxMemory **Memory, __out PVOID *Buffer, __out size_t *Length)
_Must_inspect_result_ NTSTATUS FX_VF_FUNCTION() VerifyWdfRequestIsCanceled(_In_ PFX_DRIVER_GLOBALS FxDriverGlobals, _In_ FxRequest *pRequest)
_Must_inspect_result_ NTSTATUS GetMdl(__out PMDL *pMdl)
virtual WDFMEMORY GetHandle(VOID)=0
__inline NTSTATUS CompleteWithInformation(__in NTSTATUS Status, __in ULONG_PTR Information)
_Must_inspect_result_ __in WDFREQUEST __out WDFMEMORY * Memory
_In_ WDFREQUEST _In_ NTSTATUS _In_ ULONG_PTR Information
VOID __inline FxObjectHandleGetGlobals(__in PFX_DRIVER_GLOBALS CallersGlobals, __in WDFOBJECT Handle, __out PFX_DRIVER_GLOBALS *ObjectGlobals)
__in WDFREQUEST __in NTSTATUS RequestStatus
#define PGLOBALS_ACTION(globals)
#define FxVerifierBugCheck(FxDriverGlobals, Error,...)
#define STATUS_BUFFER_TOO_SMALL
_Must_inspect_result_ NTSTATUS ProbeAndLockForWrite(__in PVOID Buffer, __in ULONG Length, __deref_out FxRequestMemory **pMemoryObject)
NTSTATUS __inline FxValidateRequestOptions(_In_ PFX_DRIVER_GLOBALS FxDriverGlobals, _In_ PWDF_REQUEST_SEND_OPTIONS Options, _In_opt_ FxRequestBase *Request=NULL)
return pObject GetObjectHandle()
#define STATUS_INVALID_DEVICE_STATE
_Must_inspect_result_ __in WDFREQUEST __in WDFQUEUE ParentDeviceQueue
_Must_inspect_result_ __in_opt PWDF_OBJECT_ATTRIBUTES __in_opt WDFIOTARGET __out WDFREQUEST * Request
_Must_inspect_result_ __in WDFREQUEST __deref_out PMDL * Mdl
FxObjectHandleGetPtrAndGlobals(GetFxDriverGlobals(DriverGlobals), Request, FX_TYPE_REQUEST,(PVOID *)&pRequest, &pFxDriverGlobals)
_Must_inspect_result_ __in WDFREQUEST __in size_t __out WDFMEMORY * MemoryObject
_In_ WDFREQUEST _In_ PIO_STACK_LOCATION Stack
_Must_inspect_result_ __in_opt PWDF_OBJECT_ATTRIBUTES RequestAttributes
NTSTATUS SetInformation(__in ULONG_PTR Information)
__in WDFREQUEST __out PWDF_REQUEST_PARAMETERS Parameters
_In_ WDFREQUEST _In_ NTSTATUS _In_ CCHAR PriorityBoost
#define TRACE_LEVEL_VERBOSE
_Must_inspect_result_ __in WDFREQUEST __in WDFQUEUE DestinationQueue
ULONG GetParameterIoctlInputBufferLength(VOID)
__inline BOOLEAN IsCancelled(VOID)
__in WDFREQUEST __in_opt PFN_WDF_REQUEST_COMPLETION_ROUTINE __in_opt WDFCONTEXT CompletionContext
_Must_inspect_result_ __in_opt PWDF_OBJECT_ATTRIBUTES __in_opt WDFIOTARGET Target
_In_ PWDFDEVICE_INIT _In_ PWDF_OBJECT_ATTRIBUTES RequestAttributes
GLenum GLuint GLenum GLsizei length
PVOID __inline GetObjectHandle(VOID)
_Must_inspect_result_ NTSTATUS ProbeAndLockForRead(__in PVOID Buffer, __in ULONG Length, __deref_out FxRequestMemory **pMemoryObject)
#define __deref_out_bcount_opt(size)
#define PAGED_CODE_LOCKED()
_Must_inspect_result_ BOOLEAN IsVersionGreaterThanOrEqualTo(__in ULONG Major, __in ULONG Minor)
_Must_inspect_result_ __in WDFREQUEST __in WDFQUEUE __in PWDF_REQUEST_FORWARD_OPTIONS ForwardOptions
EVT_WDF_REQUEST_COMPLETION_ROUTINE * PFN_WDF_REQUEST_COMPLETION_ROUTINE
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR OutputBuffer
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ _Strict_type_match_ POOL_TYPE _In_opt_ ULONG _In_ _Out_ WDFMEMORY * Memory
#define WDF_REQUEST_REUSE_VALID_FLAGS_V1_9
UNREFERENCED_PARAMETER(status)
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR InputBuffer
__inline NTSTATUS FxVerifierCheckIrqlLevel(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in KIRQL Irql)
_In_ PWDFDEVICE_INIT _In_ PWDF_REMOVE_LOCK_OPTIONS Options
__inline VOID VerifierSetFormatted(VOID)
KPROCESSOR_MODE GetRequestorMode(VOID)
__inline BOOLEAN IsReserved()
#define NT_SUCCESS(StatCode)
_Must_inspect_result_ __in_opt PWDF_OBJECT_ATTRIBUTES __in MdIrp Irp
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_ERROR, TRACINGREQUEST, "Error: This call is valid only on method-neither " "ioctl and write WDFREQUEST %p, %!STATUS!", Request, status)
#define GLOBALS_ACTION(globals)
_Must_inspect_result_ NTSTATUS RequestCancelable(__in FxRequest *pRequest, __in BOOLEAN Cancelable, __in_opt PFN_WDF_REQUEST_CANCEL EvtRequestCancel, __in BOOLEAN FailIfIrpIsCancelled)
_Must_inspect_result_ BOOLEAN IsVerificationEnabled(__in ULONG Major, __in ULONG Minor, __in FxVerifierDownlevelOption DownLevel)
#define IRP_MJ_INTERNAL_DEVICE_CONTROL
_Must_inspect_result_ __in WDFREQUEST __in size_t __deref_out_bcount_opt Length PVOID * InputBuffer
#define WDF_REQUEST_REUSE_VALID_FLAGS
_In_ WDFREQUEST _In_ BOOLEAN Requeue
_Must_inspect_result_ _In_ WDFREQUEST _In_ size_t _Out_ WDFMEMORY * MemoryObject
BOOLEAN Is32bitProcess(VOID)
PVOID GetParameterIoctlType3InputBuffer(VOID)
_Must_inspect_result_ __in WDFREQUEST __in_bcount(Length) PVOID Buffer
ULONG GetParameterWriteLength(VOID)
_Must_inspect_result_ NTSTATUS ValidateTarget(__in FxIoTarget *Target)
_Must_inspect_result_ FORCEINLINE BOOLEAN WdfRequestSend(_In_ WDFREQUEST Request, _In_ WDFIOTARGET Target, _In_opt_ PWDF_REQUEST_SEND_OPTIONS Options)
FxPkgGeneral * m_PkgGeneral
_Must_inspect_result_ NTSTATUS Reuse(__in PWDF_REQUEST_REUSE_PARAMS ReuseParams)
#define TRACE_LEVEL_ERROR
_Must_inspect_result_ __in WDFREQUEST __in size_t __deref_out_bcount Length PVOID __out_opt size_t * Length
#define WDFREQUEST_FXREQUEST(handle)
_Must_inspect_result_ NTSTATUS FX_VF_FUNCTION() VerifyWdfRequestForwardToIoQueue(_In_ PFX_DRIVER_GLOBALS FxDriverGlobals, _In_ FxRequest *request)
__in WDFREQUEST __in NTSTATUS __in ULONG_PTR Information
__inline PFX_DRIVER_GLOBALS GetDriverGlobals(VOID)
PFX_DRIVER_GLOBALS cxDriverGlobals
ULONG GetParameterIoctlOutputBufferLength(VOID)
__in WDFREQUEST __in_opt PFN_WDF_REQUEST_COMPLETION_ROUTINE CompletionRoutine
PFX_DRIVER_GLOBALS fxDriverGlobals
FX_DECLARE_VF_FUNCTION_P1(NTSTATUS, VerifyRequestComplete, _In_ FxRequest *)
_In_ WDFREQUEST _In_opt_ PFN_WDF_REQUEST_COMPLETION_ROUTINE CompletionRoutine
_Must_inspect_result_ _In_ WDFREQUEST _In_ WDFQUEUE ParentDeviceQueue
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ PIRP _In_ BOOLEAN RequestFreesIrp
__inline WDFFILEOBJECT GetHandle(VOID)
ULONG GetParameterIoctlCodeBufferMethod(VOID)
_In_ WDFDEVICE _In_ PVOID _In_opt_ PMDL Mdl
__in WDFREQUEST __in NTSTATUS __in CCHAR PriorityBoost
ULONG_PTR GetInformation(VOID)
__in WDFREQUEST __in PFN_WDF_REQUEST_CANCEL EvtRequestCancel
_Must_inspect_result_ NTSTATUS Requeue(__in FxRequest *pRequest)
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFIOTARGET * IoTarget
_Must_inspect_result_ _In_ WDFREQUEST _In_ WDFQUEUE DestinationQueue
__inline CfxDevice * GetDevice(VOID)
_Must_inspect_result_ NTSTATUS GetDeviceControlOutputMemoryObject(__deref_out IFxMemory **MemoryObject, __out PVOID *Buffer, __out size_t *Length)
__in WDFREQUEST __in BOOLEAN Requeue
BOOLEAN HasStack(_In_ UCHAR StackCount)
ASSERT(status==STATUS_SUCCESS)
__inline PFX_DRIVER_GLOBALS GetFxDriverGlobals(__in PWDF_DRIVER_GLOBALS DriverGlobals)
VOID CopyCurrentIrpStackLocationToNext(VOID)
UCHAR GetMajorFunction(VOID)
_Must_inspect_result_ NTSTATUS GetIrp(__deref_out MdIrp *ppIrp)
__in WDFREQUEST __out PWDF_REQUEST_COMPLETION_PARAMS Params
BOOLEAN m_NextStackLocationFormatted
__inline WDFREQUEST GetHandle(VOID)
__inline NTSTATUS CompleteWithPriority(__in NTSTATUS Status, __in CCHAR PriorityBoost)
_Must_inspect_result_ __in WDFREQUEST __in WDFIOTARGET IoTarget
__in WDFREQUEST __in PWDF_REQUEST_REUSE_PARAMS ReuseParams
_Must_inspect_result_ __in WDFREQUEST __in size_t RequiredLength
#define IRP_MJ_DEVICE_CONTROL
__inline FxIoQueue * GetDeafultInternalCreateQueue()
_Must_inspect_result_ NTSTATUS FX_VF_FUNCTION() VerifyRequestComplete(_In_ PFX_DRIVER_GLOBALS FxDriverGlobals, _In_ FxRequest *pRequest)