140{
147
149
150
151
152
153
156
157
158
159
160
161
163
164
165
166
167
169
170
171
172
173
175
176#ifdef _MSC_VER
177#pragma prefast( push )
178#pragma prefast( disable: 28137, "prefast wants the wait to be a constant, but that isn't possible for the way fastfat is designed" )
179#pragma prefast( disable: 28193, "this will always wait" )
180#endif
181
183
184#ifdef _MSC_VER
185#pragma prefast( pop )
186#endif
187
189
190
191
192
193
194
197
199
200 Links = Links->
Flink;
201
202
203
204
205
206
207
210
211 continue;
212 }
213
215
217
219
220
221
222
223
224
225
227
230 0,
232
234 }
235
237
240
241
242
243
244
245
246
247
249
251 Vcb->TargetDeviceObject,
253 0,
257
258 if (NewIrp !=
NULL) {
259
261
267
269 }
270 }
271
273
276
278
279
280
281
282
283 VcbDeleted = FatCheckForDismount( IrpContext,
286
287 if (!VcbDeleted) {
288
290 }
291 }
292
294
295
297
298
299
300
301
306
309
310
311
312
313
314 DebugTrace(-1,
Dbg,
"FatFsdShutdown -> STATUS_SUCCESS\n", 0);
315
317}
#define IRP_CONTEXT_FLAG_WAIT
#define IRP_CONTEXT_FLAG_DISABLE_POPUPS
#define NT_SUCCESS(StatCode)
#define KeWaitForSingleObject(pEvt, foo, a, b, c)
#define KeInitializeEvent(pEvt, foo, foo2)
VOID NTAPI KeClearEvent(IN PKEVENT Event)
#define IRP_CONTEXT_FLAG_WRITE_THROUGH
PDEVICE_OBJECT FatDiskFileSystemDeviceObject
PDEVICE_OBJECT FatCdromFileSystemDeviceObject
#define FatAcquireExclusiveGlobal(IRPCONTEXT)
#define FatAcquireExclusiveVolume(IRPCONTEXT, VCB)
#define FatReleaseVolume(IRPCONTEXT, VCB)
#define FatCompleteRequest(IRPCONTEXT, IRP, STATUS)
#define FatReleaseGlobal(IRPCONTEXT)
#define FatResetExceptionState(IRPCONTEXT)
#define VCB_STATE_FLAG_SHUTDOWN
#define VCB_STATE_FLAG_MOUNTED_DIRTY
BOOLEAN NTAPI CcPurgeCacheSection(IN PSECTION_OBJECT_POINTERS SectionObjectPointer, IN OPTIONAL PLARGE_INTEGER FileOffset, IN ULONG Length, IN BOOLEAN UninitializeCacheMaps)
#define EXCEPTION_EXECUTE_HANDLER
VOID NTAPI IoDeleteDevice(IN PDEVICE_OBJECT DeviceObject)
PIRP NTAPI IoBuildSynchronousFsdRequest(IN ULONG MajorFunction, IN PDEVICE_OBJECT DeviceObject, IN PVOID Buffer, IN ULONG Length, IN PLARGE_INTEGER StartingOffset, IN PKEVENT Event, IN PIO_STATUS_BLOCK IoStatusBlock)
VOID NTAPI IoUnregisterFileSystem(IN PDEVICE_OBJECT DeviceObject)
struct _LIST_ENTRY * Flink
#define CONTAINING_RECORD(address, type, field)