ReactOS  0.4.15-dev-3175-g222acf5
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
29 BOOLEAN
31  __in PIRP Irp
32  )
33 /*++
34 
35 Routine Description:
36  Dummy UM implementation.
37 --*/
38 {
40  return TRUE;
41 }
42 
43 __inline
47  __in MdIrp Irp
48  )
49 {
51 
54 }
55 
56 
57 __inline
59 MdIrp
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
80 VOID
83  )
84 /*++
85 
86 Routine 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
105 VOID
107  __in FxRequest *ReservedRequest
108  )
109 /*++
110 
111 Routine 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
126 VOID
128  __in PLIST_ENTRY IrpListHead,
130  )
131 /*++
132 
133 Routine 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
149 VOID
151  VOID
152  )
153 /*++
154 
155 Routine Description:
156 
157  This is the kernel mode routine to flush queued DPCs.
158 
159 Arguments:
160 
161 Return Value:
162 
163 --*/
164 {
166 }
167 
168 
169 __inline
170 VOID
172  VOID
173  )
174 /*++
175 
176 Routine Description:
177 
178  This is the kernel mode routine to insert a dpc.
179 
180 Arguments:
181 
182 Return Value:
183 
184 --*/
185 {
187 }
188 
189 __inline
191 NTSTATUS
193  __in MdIrp Irp,
194  __deref_out_opt FxRequest **ReservedRequest
195  )
196 /*++
197 
198 Routine 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 
208  return STATUS_NOT_IMPLEMENTED;
209 }
210 
211 __inline
213 NTSTATUS
216  )
217 /*++
218 
219 Routine Description:
220  Configure the queue for forward Progress.
221 
222 --*/
223 {
225 
227  return STATUS_NOT_IMPLEMENTED;
228 }
229 
230 
231 #endif // _FXIOQUEUEUM_HPP
VOID GetForwardProgressIrps(__in PLIST_ENTRY IrpListHead, __in_opt MdFileObject FileObject)
return
Definition: dirsup.c:529
Definition: msg.c:1065
#define __in_opt
Definition: dbghelp.h:38
#define TRUE
Definition: types.h:120
#define UNREFERENCED_PARAMETER(P)
Definition: ntbasedef.h:317
LONG NTSTATUS
Definition: precomp.h:26
VOID UfxVerifierTrapNotImpl()
PFILE_OBJECT MdFileObject
Definition: mxgeneralkm.h:32
return STATUS_NOT_IMPLEMENTED
_In_ PIRP Irp
Definition: csq.h:116
VOID InsertQueueDpc(VOID)
unsigned char BOOLEAN
IWudfIrp * MdIrp
Definition: mxum.h:103
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject
Definition: wdfdevice.h:547
_Must_inspect_result_ NTSTATUS GetReservedRequest(__in MdIrp Irp, __deref_out_opt FxRequest **ReservedRequest)
VOID FlushQueuedDpcs(VOID)
* PFILE_OBJECT
Definition: iotypes.h:1998
Definition: typedefs.h:119
VOID ReturnReservedRequest(__in FxRequest *ReservedRequest)
#define _Must_inspect_result_
Definition: ms_sal.h:558
__inline BOOLEAN IsPagingIo(__in PIRP Irp)
Definition: fxioqueueum.hpp:30
_Must_inspect_result_ MdIrp GetForwardProgressIrpLocked(__in_opt PFILE_OBJECT FileObject)
Definition: fxioqueueum.hpp:60
VOID FreeAllReservedRequests(__in BOOLEAN Verify)
Definition: fxioqueueum.hpp:81
#define NULL
Definition: types.h:112
#define __deref_out_opt
Definition: dbghelp.h:29
_Must_inspect_result_ NTSTATUS AssignForwardProgressPolicy(__in PWDF_IO_QUEUE_FORWARD_PROGRESS_POLICY Policy)
_In_ WDFINTERRUPT _In_ WDF_INTERRUPT_POLICY Policy
Definition: wdfinterrupt.h:651
#define __in
Definition: dbghelp.h:35
_Must_inspect_result_ NTSTATUS QueueForwardProgressIrpLocked(__in MdIrp Irp)
Definition: fxioqueueum.hpp:46