23#define BugCheckFileId (FAT_BUG_CHECK_PNP)
25#define Dbg (DEBUG_TRACE_PNP)
71#pragma alloc_text(PAGE, FatCommonPnp)
72#pragma alloc_text(PAGE, FatFsdPnp)
73#pragma alloc_text(PAGE, FatPnpCancelRemove)
74#pragma alloc_text(PAGE, FatPnpQueryRemove)
75#pragma alloc_text(PAGE, FatPnpRemove)
76#pragma alloc_text(PAGE, FatPnpSurpriseRemove)
142 Status = FatCommonPnp( IrpContext,
Irp );
229#pragma prefast(
push )
230#pragma prefast( disable: 28137, "prefast wants the wait to be a constant, but that isn't possible for the way fastfat is designed" )
231#pragma prefast( disable: 28193, "this will always wait" )
237#pragma prefast( pop )
247#pragma prefast( suppress: 28175, "touching Size is ok for a filesystem" )
263 Vcb = &OurDeviceObject->
Vcb;
401#pragma prefast( push )
402#pragma prefast( disable: 28137, "prefast wants the wait to be a constant, but that isn't possible for the way fastfat is designed" )
403#pragma prefast( disable: 28193, "this will always wait" )
410#pragma prefast( pop )
428 FatFlushAndCleanVolume( IrpContext,
Irp,
Vcb,
Flush );
488 VcbDeleted = FatCheckForDismount( IrpContext,
Vcb,
TRUE );
641 VcbDeleted = FatCheckForDismount( IrpContext,
Vcb,
TRUE );
669FatPnpSurpriseRemove (
770 VcbDeleted = FatCheckForDismount( IrpContext,
Vcb,
TRUE );
static PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(PIRP Irp)
#define IRP_CONTEXT_FLAG_WAIT
VOLUME_DEVICE_OBJECT * PVOLUME_DEVICE_OBJECT
#define _Requires_lock_held_(lock)
#define NT_SUCCESS(StatCode)
_In_ PIO_STACK_LOCATION IrpSp
VOID FatPnpAdjustVpbRefCount(IN PVCB Vcb, IN ULONG Delta)
NTSTATUS NTAPI FatPnpCompletionRoutine(_In_ PDEVICE_OBJECT DeviceObject, _In_ PIRP Irp, _In_reads_opt_(_Inexpressible_("varies")) PVOID Contxt)
#define KeWaitForSingleObject(pEvt, foo, a, b, c)
#define KeInitializeEvent(pEvt, foo, foo2)
#define KeSetEvent(pEvt, foo, foo2)
ULONG FatExceptionFilter(IN PIRP_CONTEXT IrpContext, IN PEXCEPTION_POINTERS ExceptionPointer)
BOOLEAN FatIsIrpTopLevel(IN PIRP Irp)
#define DebugTrace(INDENT, LEVEL, X, Y)
#define FatAcquireExclusiveGlobal(IRPCONTEXT)
NTSTATUS FatUnlockVolumeInternal(IN PIRP_CONTEXT IrpContext, IN PVCB Vcb, IN PFILE_OBJECT FileObject OPTIONAL)
IN PFCB IN PCCB IN TYPE_OF_OPEN IN BOOLEAN IN BOOLEAN TopLevel
#define FatCompleteRequest(IRPCONTEXT, IRP, STATUS)
#define FatReleaseGlobal(IRPCONTEXT)
#define FatAcquireExclusiveVcb(IC, V)
#define FatReleaseVcb(IRPCONTEXT, Vcb)
PIRP_CONTEXT FatCreateIrpContext(IN PIRP Irp, IN BOOLEAN Wait)
#define FsRtlEnterFileSystem
#define FsRtlExitFileSystem
#define IoSetCompletionRoutine(_Irp, _CompletionRoutine, _Context, _InvokeOnSuccess, _InvokeOnError, _InvokeOnCancel)
DRIVER_DISPATCH(nfs41_FsdDispatch)
#define _In_reads_opt_(s)
#define _Function_class_(n)
#define UNREFERENCED_PARAMETER(P)
#define IRP_MN_SURPRISE_REMOVAL
#define IoSkipCurrentIrpStackLocation(Irp)
#define IoCopyCurrentIrpStackLocationToNext(Irp)
VOID NTAPI IoSetTopLevelIrp(IN PIRP Irp)
VOID NTAPI IoReleaseVpbSpinLock(IN KIRQL Irql)
VOID NTAPI IoAcquireVpbSpinLock(OUT PKIRQL Irql)
#define _SEH2_GetExceptionCode()
#define _SEH2_EXCEPT(...)
#define _SEH2_GetExceptionInformation()
static void push(calc_node_t *op)
#define STATUS_MORE_PROCESSING_REQUIRED
PDEVICE_OBJECT DeviceObject
DEVICE_OBJECT DeviceObject
#define STATUS_INVALID_PARAMETER
_In_ PDEVICE_OBJECT DeviceObject
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject
_In_ WDFDPC _In_ BOOLEAN Wait
#define IRP_MN_REMOVE_DEVICE
#define IRP_MN_CANCEL_REMOVE_DEVICE
#define IRP_MN_QUERY_REMOVE_DEVICE
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql