36 #define WDF_EXTERN_C extern "C" 37 #define WDF_EXTERN_C_START extern "C" { 38 #define WDF_EXTERN_C_END } 41 #define WDF_EXTERN_C_START 42 #define WDF_EXTERN_C_END 50 #if (NTDDI_VERSION >= NTDDI_WIN2K) 232 EVT_WDF_IO_QUEUE_IO_DEFAULT(
248 EVT_WDF_IO_QUEUE_IO_STOP(
265 EVT_WDF_IO_QUEUE_IO_RESUME(
280 EVT_WDF_IO_QUEUE_IO_READ(
297 EVT_WDF_IO_QUEUE_IO_WRITE(
314 EVT_WDF_IO_QUEUE_IO_DEVICE_CONTROL(
335 EVT_WDF_IO_QUEUE_IO_INTERNAL_DEVICE_CONTROL(
357 EVT_WDF_IO_QUEUE_IO_CANCELED_ON_QUEUE(
373 EVT_WDF_IO_QUEUE_STATE(
435 Config->DispatchType = DispatchType;
437 Config->Settings.Parallel.NumberOfPresentedRequests = (
ULONG)-1;
453 Config->DispatchType = DispatchType;
455 Config->Settings.Parallel.NumberOfPresentedRequests = (
ULONG)-1;
478 EVT_WDF_IO_ALLOCATE_RESOURCES_FOR_RESERVED_REQUEST(
493 EVT_WDF_IO_ALLOCATE_REQUEST_RESOURCES(
508 EVT_WDF_IO_WDM_IRP_FOR_FORWARD_PROGRESS(
564 Policy->TotalForwardProgressRequests = TotalForwardProgressRequests;
580 Policy->TotalForwardProgressRequests = TotalForwardProgressRequests;
582 Policy->ForwardProgressReservePolicySettings.Policy.ExaminePolicy.EvtIoWdmIrpForForwardProgress =
583 EvtIoWdmIrpForForwardProgress;
596 Policy->TotalForwardProgressRequests = TotalForwardProgressRequests;
609 (
STDCALL *PFN_WDFIOQUEUECREATE)(
647 (
STDCALL *PFN_WDFIOQUEUEGETSTATE)(
680 (
STDCALL *PFN_WDFIOQUEUESTART)(
742 (
STDCALL *PFN_WDFIOQUEUESTOPSYNCHRONOUSLY)(
752 WdfIoQueueStopSynchronously(
767 (
STDCALL *PFN_WDFIOQUEUEGETDEVICE)(
793 (
STDCALL *PFN_WDFIOQUEUERETRIEVENEXTREQUEST)(
806 WdfIoQueueRetrieveNextRequest(
824 (
STDCALL *PFN_WDFIOQUEUERETRIEVEREQUESTBYFILEOBJECT)(
839 WdfIoQueueRetrieveRequestByFileObject(
859 (
STDCALL *PFN_WDFIOQUEUEFINDREQUEST)(
878 WdfIoQueueFindRequest(
902 (
STDCALL *PFN_WDFIOQUEUERETRIEVEFOUNDREQUEST)(
917 WdfIoQueueRetrieveFoundRequest(
936 (
STDCALL *PFN_WDFIOQUEUEDRAINSYNCHRONOUSLY)(
946 WdfIoQueueDrainSynchronously(
961 (
STDCALL *PFN_WDFIOQUEUEDRAIN)(
998 (
STDCALL *PFN_WDFIOQUEUEPURGESYNCHRONOUSLY)(
1008 WdfIoQueuePurgeSynchronously(
1023 (
STDCALL *PFN_WDFIOQUEUEPURGE)(
1061 (
STDCALL *PFN_WDFIOQUEUEREADYNOTIFY)(
1076 WdfIoQueueReadyNotify(
1096 (
STDCALL *PFN_WDFIOQUEUEASSIGNFORWARDPROGRESSPOLICY)(
1109 WdfIoQueueAssignForwardProgressPolicy(
1126 (
STDCALL *PFN_WDFIOQUEUESTOPANDPURGE)(
1142 WdfIoQueueStopAndPurge(
1163 (
STDCALL *PFN_WDFIOQUEUESTOPANDPURGESYNCHRONOUSLY)(
1173 WdfIoQueueStopAndPurgeSynchronously(
1183 #endif // (NTDDI_VERSION >= NTDDI_WIN2K) PFN_WDF_IO_QUEUE_IO_READ EvtIoRead
EVT_WDF_IO_QUEUE_IO_WRITE * PFN_WDF_IO_QUEUE_IO_WRITE
EVT_WDF_IO_QUEUE_IO_READ * PFN_WDF_IO_QUEUE_IO_READ
_Must_inspect_result_ _In_ WDFQUEUE _In_opt_ PFN_WDF_IO_QUEUE_STATE QueueReady
_WDF_IO_QUEUE_DISPATCH_TYPE
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_IO_QUEUE_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES QueueAttributes
#define _Must_inspect_result_
_Must_inspect_result_ _In_ WDFQUEUE _Out_ WDFREQUEST * OutRequest
PFN_WDF_IO_WDM_IRP_FOR_FORWARD_PROGRESS EvtIoWdmIrpForForwardProgress
_In_ ULONG _In_ ULONG _In_ ULONG Length
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_IO_QUEUE_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_opt_ WDFQUEUE * Queue
_Must_inspect_result_ _In_ WDFQUEUE _In_opt_ WDFREQUEST FoundRequest
_Must_inspect_result_ _In_ WDFQUEUE _In_opt_ WDFREQUEST _In_opt_ WDFFILEOBJECT _Inout_opt_ PWDF_REQUEST_PARAMETERS Parameters
_In_ WDFQUEUE _In_opt_ PFN_WDF_IO_QUEUE_STATE StopComplete
EVT_WDF_IO_QUEUE_IO_DEVICE_CONTROL * PFN_WDF_IO_QUEUE_IO_DEVICE_CONTROL
WDF_IO_FORWARD_PROGRESS_RESERVED_POLICY ForwardProgressReservedPolicy
EVT_WDF_IO_QUEUE_STATE * PFN_WDF_IO_QUEUE_STATE
_Must_inspect_result_ _In_ WDFDEVICE _In_ PIRP _In_ WDFQUEUE Queue
enum _WDF_TRI_STATE WDF_TRI_STATE
PFN_WDF_IO_QUEUE_IO_RESUME EvtIoResume
PFN_WDF_IO_ALLOCATE_REQUEST_RESOURCES EvtIoAllocateRequestResources
enum _WDF_IO_FORWARD_PROGRESS_ACTION WDF_IO_FORWARD_PROGRESS_ACTION
ULONG NumberOfPresentedRequests
_In_ WDFQUEUE _In_opt_ PFN_WDF_IO_QUEUE_STATE PurgeComplete
struct _WDF_IO_FORWARD_PROGRESS_RESERVED_POLICY_SETTINGS::@3659::@3660 ExaminePolicy
FORCEINLINE BOOLEAN WDF_IO_QUEUE_READY(_In_ WDF_IO_QUEUE_STATE State)
EVT_WDF_IO_QUEUE_IO_INTERNAL_DEVICE_CONTROL * PFN_WDF_IO_QUEUE_IO_INTERNAL_DEVICE_CONTROL
PFN_WDF_IO_QUEUE_IO_STOP EvtIoStop
FORCEINLINE VOID WDF_IO_QUEUE_CONFIG_INIT_DEFAULT_QUEUE(_Out_ PWDF_IO_QUEUE_CONFIG Config, _In_ WDF_IO_QUEUE_DISPATCH_TYPE DispatchType)
struct _WDF_IO_QUEUE_CONFIG::@3657::@3658 Parallel
#define WDF_EXTERN_C_START
union _WDF_IO_FORWARD_PROGRESS_RESERVED_POLICY_SETTINGS::@3659 Policy
_In_ WDFQUEUE _Out_opt_ PULONG _Out_opt_ PULONG DriverRequests
EVT_WDF_IO_QUEUE_IO_RESUME * PFN_WDF_IO_QUEUE_IO_RESUME
_In_ WDFREQUEST _In_ size_t _In_ size_t InputBufferLength
EVT_WDF_IO_QUEUE_IO_STOP * PFN_WDF_IO_QUEUE_IO_STOP
EVT_WDF_IO_QUEUE_IO_CANCELED_ON_QUEUE * PFN_WDF_IO_QUEUE_IO_CANCELED_ON_QUEUE
_In_ WDFQUEUE _In_opt_ PFN_WDF_IO_QUEUE_STATE StopAndPurgeComplete
struct _WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY
_Must_inspect_result_ _IRQL_requires_max_(DISPATCH_LEVEL) WDFAPI NTSTATUS(STDCALL *PFN_WDFIOQUEUECREATE)(_In_ PWDF_DRIVER_GLOBALS DriverGlobals
_Must_inspect_result_ _In_ WDFQUEUE _In_ PWDF_IO_QUEUE_FORWARD_PROGRESS_POLICY ForwardProgressPolicy
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_IO_QUEUE_CONFIG Config
FORCEINLINE VOID WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_PAGINGIO_INIT(_Out_ PWDF_IO_QUEUE_FORWARD_PROGRESS_POLICY Policy, _In_ ULONG TotalForwardProgressRequests)
FORCEINLINE BOOLEAN WDF_IO_QUEUE_STOPPED(_In_ WDF_IO_QUEUE_STATE State)
_Must_inspect_result_ _In_ WDFDEVICE Device
WDF_IO_QUEUE_DISPATCH_TYPE DispatchType
_In_ WDFREQUEST _In_ size_t OutputBufferLength
_In_ WDFREQUEST _In_ ULONG ActionFlags
_In_ WDFQUEUE _Out_opt_ PULONG QueueRequests
_WDF_IO_FORWARD_PROGRESS_RESERVED_POLICY
_In_ WDFQUEUE _When_(Context !=0, _In_) _When_(Context
#define _IRQL_requires_same_
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject
WDF_IO_FORWARD_PROGRESS_RESERVED_POLICY_SETTINGS ForwardProgressReservePolicySettings
PWDF_DRIVER_GLOBALS WdfDriverGlobals
union _WDF_IO_QUEUE_CONFIG::@3657 Settings
PFN_WDF_IO_QUEUE_IO_INTERNAL_DEVICE_CONTROL EvtIoInternalDeviceControl
FORCEINLINE BOOLEAN WDF_IO_QUEUE_DRAINED(_In_ WDF_IO_QUEUE_STATE State)
WDF_EXTERN_C_START enum _WDF_IO_QUEUE_DISPATCH_TYPE WDF_IO_QUEUE_DISPATCH_TYPE
FORCEINLINE BOOLEAN WDF_IO_QUEUE_IDLE(_In_ WDF_IO_QUEUE_STATE State)
enum _WDF_IO_QUEUE_STATE WDF_IO_QUEUE_STATE
enum _WDF_IO_FORWARD_PROGRESS_RESERVED_POLICY WDF_IO_FORWARD_PROGRESS_RESERVED_POLICY
struct _WDF_IO_QUEUE_CONFIG * PWDF_IO_QUEUE_CONFIG
struct _WDF_IO_FORWARD_PROGRESS_RESERVED_POLICY_SETTINGS WDF_IO_FORWARD_PROGRESS_RESERVED_POLICY_SETTINGS
_WDF_IO_FORWARD_PROGRESS_ACTION
FORCEINLINE BOOLEAN WDF_IO_QUEUE_PURGED(_In_ WDF_IO_QUEUE_STATE State)
_In_ WDFREQUEST _In_ size_t _In_ size_t _In_ ULONG IoControlCode
PFN_WDF_IO_ALLOCATE_RESOURCES_FOR_RESERVED_REQUEST EvtIoAllocateResourcesForReservedRequest
struct _WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY * PWDF_IO_QUEUE_FORWARD_PROGRESS_POLICY
_Must_inspect_result_ _In_ WDFDEVICE Device
EVT_WDF_IO_QUEUE_IO_DEFAULT * PFN_WDF_IO_QUEUE_IO_DEFAULT
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_CHILD_LIST_CONFIG Config
EVT_WDF_IO_WDM_IRP_FOR_FORWARD_PROGRESS * PFN_WDF_IO_WDM_IRP_FOR_FORWARD_PROGRESS
EVT_WDF_IO_ALLOCATE_REQUEST_RESOURCES * PFN_WDF_IO_ALLOCATE_REQUEST_RESOURCES
typedef _Function_class_(EVT_WDF_IO_QUEUE_IO_DEFAULT) _IRQL_requires_same_ _IRQL_requires_max_(DISPATCH_LEVEL) VOID STDCALL EVT_WDF_IO_QUEUE_IO_DEFAULT(_In_ WDFQUEUE Queue
PFN_WDF_IO_QUEUE_IO_DEVICE_CONTROL EvtIoDeviceControl
PFN_WDF_IO_QUEUE_IO_DEFAULT EvtIoDefault
_Must_inspect_result_ _In_ WDFQUEUE _In_ WDFFILEOBJECT FileObject
WDF_TRI_STATE PowerManaged
PFN_WDF_IO_QUEUE_IO_WRITE EvtIoWrite
BOOLEAN AllowZeroLengthRequests
FORCEINLINE VOID WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_DEFAULT_INIT(_Out_ PWDF_IO_QUEUE_FORWARD_PROGRESS_POLICY Policy, _In_ ULONG TotalForwardProgressRequests)
#define RtlZeroMemory(Destination, Length)
FORCEINLINE VOID WDF_IO_QUEUE_CONFIG_INIT(_Out_ PWDF_IO_QUEUE_CONFIG Config, _In_ WDF_IO_QUEUE_DISPATCH_TYPE DispatchType)
_In_ WDFQUEUE _In_opt_ PFN_WDF_IO_QUEUE_STATE DrainComplete
struct _WDF_IO_QUEUE_CONFIG WDF_IO_QUEUE_CONFIG
ULONG TotalForwardProgressRequests
_In_ WDFINTERRUPT _In_ WDF_INTERRUPT_POLICY Policy
PFN_WDF_IO_QUEUE_IO_CANCELED_ON_QUEUE EvtIoCanceledOnQueue
FORCEINLINE VOID WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_EXAMINE_INIT(_Out_ PWDF_IO_QUEUE_FORWARD_PROGRESS_POLICY Policy, _In_ ULONG TotalForwardProgressRequests, _In_ PFN_WDF_IO_WDM_IRP_FOR_FORWARD_PROGRESS EvtIoWdmIrpForForwardProgress)
EVT_WDF_IO_ALLOCATE_RESOURCES_FOR_RESERVED_REQUEST * PFN_WDF_IO_ALLOCATE_RESOURCES_FOR_RESERVED_REQUEST