ReactOS 0.4.15-dev-8058-ga7cbb60
fxioqueueum.hpp
Go to the documentation of this file.
1/*++
2
3 Copyright (c) Microsoft Corporation
4
5 Module Name:
6
7 FxIoQueueUm.hpp
8
9 Abstract:
10
11 This module implements um specific functions for FxIoQueue.
12
13 Author:
14
15
16
17 Environment:
18
19 User mode only
20
21 Revision History:
22
23 --*/
24
25#ifndef _FXIOQUEUEUM_HPP_
26#define _FXIOQUEUEUM_HPP_
27
28__inline
32 )
33/*++
34
35Routine Description:
36 Dummy UM implementation.
37--*/
38{
40 return TRUE;
41}
42
43__inline
48 )
49{
51
54}
55
56
57__inline
62 )
63/*++
64
65 Routine Description:
66 Remove an IRP from the pending irp list if it matches with the input
67 fileobject. If the fileobject value is NULL, return the first one from
68 the pending list.
69
70--*/
71{
73
75 return NULL;
76
77}
78
79__inline
80VOID
83 )
84/*++
85
86Routine Description:
87 Called from dispose to Free all the reserved requests.
88
89 Verify -
90 TRUE - Make sure the number of request freed matches with the count of
91 request created.
92 FALSE - Called when we fail to allocate all the reserved requests
93 during config at init time. So we don't verify because the
94 count of request freed wouldn't match with the configured value.
95--*/
96{
98
100 return;
101
102}
103
104__inline
105VOID
107 __in FxRequest *ReservedRequest
108 )
109/*++
110
111Routine Description:
112 Reuse the ReservedRequest if there are pended IRPs otherwise
113 add it back to the reserve list.
114
115--*/
116{
117
118 UNREFERENCED_PARAMETER(ReservedRequest);
119
121 return ;
122
123}
124
125__inline
126VOID
128 __in PLIST_ENTRY IrpListHead,
130 )
131/*++
132
133Routine Description:
134
135 This function is called to retrieve the list of reserved queued IRPs.
136 The IRP's Tail.Overlay.ListEntry field is used to link these structs together.
137
138--*/
139{
140 UNREFERENCED_PARAMETER(IrpListHead);
142
144 return;
145
146}
147
148__inline
149VOID
151 VOID
152 )
153/*++
154
155Routine Description:
156
157 This is the kernel mode routine to flush queued DPCs.
158
159Arguments:
160
161Return Value:
162
163--*/
164{
166}
167
168
169__inline
170VOID
172 VOID
173 )
174/*++
175
176Routine Description:
177
178 This is the kernel mode routine to insert a dpc.
179
180Arguments:
181
182Return Value:
183
184--*/
185{
187}
188
189__inline
193 __in MdIrp Irp,
194 __deref_out_opt FxRequest **ReservedRequest
195 )
196/*++
197
198Routine Description:
199 Use the policy configured on the queue to decide whether to allocate a
200 reserved request.
201
202--*/
203{
205 UNREFERENCED_PARAMETER(ReservedRequest);
206
209}
210
211__inline
216 )
217/*++
218
219Routine Description:
220 Configure the queue for forward Progress.
221
222--*/
223{
225
228}
229
230
231#endif // _FXIOQUEUEUM_HPP
unsigned char BOOLEAN
LONG NTSTATUS
Definition: precomp.h:26
return
Definition: dirsup.c:529
_Must_inspect_result_ NTSTATUS GetReservedRequest(__in MdIrp Irp, __deref_out_opt FxRequest **ReservedRequest)
VOID ReturnReservedRequest(__in FxRequest *ReservedRequest)
_Must_inspect_result_ NTSTATUS AssignForwardProgressPolicy(__in PWDF_IO_QUEUE_FORWARD_PROGRESS_POLICY Policy)
_Must_inspect_result_ MdIrp GetForwardProgressIrpLocked(__in_opt PFILE_OBJECT FileObject)
Definition: fxioqueueum.hpp:60
VOID FreeAllReservedRequests(__in BOOLEAN Verify)
Definition: fxioqueueum.hpp:81
_Must_inspect_result_ NTSTATUS QueueForwardProgressIrpLocked(__in MdIrp Irp)
Definition: fxioqueueum.hpp:46
VOID FlushQueuedDpcs(VOID)
VOID GetForwardProgressIrps(__in PLIST_ENTRY IrpListHead, __in_opt MdFileObject FileObject)
VOID InsertQueueDpc(VOID)
_In_ PIRP Irp
Definition: csq.h:116
#define __in
Definition: dbghelp.h:35
#define __in_opt
Definition: dbghelp.h:38
#define __deref_out_opt
Definition: dbghelp.h:29
#define NULL
Definition: types.h:112
#define TRUE
Definition: types.h:120
@ Verify
Definition: msg.c:1065
__inline BOOLEAN IsPagingIo(__in PIRP Irp)
Definition: fxioqueueum.hpp:30
#define _Must_inspect_result_
Definition: ms_sal.h:558
PFILE_OBJECT MdFileObject
Definition: mxgeneralkm.h:32
IWudfIrp * MdIrp
Definition: mxum.h:103
#define UNREFERENCED_PARAMETER(P)
Definition: ntbasedef.h:317
#define STATUS_NOT_IMPLEMENTED
Definition: ntstatus.h:239
Definition: typedefs.h:120
VOID UfxVerifierTrapNotImpl()
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject
Definition: wdfdevice.h:550
_In_ WDFINTERRUPT _In_ WDF_INTERRUPT_POLICY Policy
Definition: wdfinterrupt.h:653
* PFILE_OBJECT
Definition: iotypes.h:1998