22 #pragma alloc_text(PAGE, RfsdFlushFile) 23 #pragma alloc_text(PAGE, RfsdFlushFiles) 24 #pragma alloc_text(PAGE, RfsdFlushVolume) 25 #pragma alloc_text(PAGE, RfsdFlush) 39 if (
Irp->PendingReturned)
68 for (ListEntry =
Vcb->FcbList.Flink;
69 ListEntry != &
Vcb->FcbList;
70 ListEntry = ListEntry->
Flink ) {
134 Fcb->RfsdMcb->Key.k_dir_id,
Fcb->RfsdMcb->Key.k_objectid,
Fcb->RfsdMcb->
ShortName.Buffer));
202 Irp = IrpContext->Irp;
213 #pragma prefast( suppress: 28137, "by design" ) 217 IrpContext->IsSynchronous )) {
222 MainResourceAcquired =
TRUE;
249 if (MainResourceAcquired) {
255 if (!IrpContext->ExceptionInProgress) {
#define ExGetCurrentResourceThread()
NTSTATUS RfsdCompleteIrpContext(IN PRFSD_IRP_CONTEXT IrpContext, IN NTSTATUS Status)
#define __drv_mustHoldCriticalRegion
VOID NTAPI CcFlushCache(IN PSECTION_OBJECT_POINTERS SectionObjectPointer, IN OPTIONAL PLARGE_INTEGER FileOffset, IN ULONG Length, OUT OPTIONAL PIO_STATUS_BLOCK IoStatus)
#define STATUS_INVALID_DEVICE_REQUEST
PDEVICE_OBJECT DeviceObject
#define IoSetCompletionRoutine(_Irp, _CompletionRoutine, _Context, _InvokeOnSuccess, _InvokeOnError, _InvokeOnCancel)
BOOLEAN NTAPI ExAcquireResourceExclusiveLite(IN PERESOURCE Resource, IN BOOLEAN Wait)
_In_ PDEVICE_OBJECT DeviceObject
NTFSIDENTIFIER Identifier
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
RFSD_IDENTIFIER_TYPE Type
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject
struct _RFSD_VCB * PRFSD_VCB
struct _LIST_ENTRY * Flink
#define NT_SUCCESS(StatCode)
NTSTATUS RfsdFlushFile(IN PRFSD_FCB Fcb)
VOID FASTCALL ExReleaseResourceLite(IN PERESOURCE Resource)
struct _RFSD_FCBVCB * PRFSD_FCBVCB
__drv_mustHoldCriticalRegion NTSTATUS RfsdFlushFiles(IN PRFSD_VCB Vcb, BOOLEAN bShutDown)
#define VCB_WRITE_PROTECTED
_Must_inspect_result_ _In_ PFLT_INSTANCE _Out_ PBOOLEAN IsDirectory
#define FCB_FILE_MODIFIED
__drv_aliasesMem FORCEINLINE PIO_STACK_LOCATION IoGetNextIrpStackLocation(_In_ PIRP Irp)
ClearFlag(Dirent->Flags, DIRENT_FLAG_NOT_PERSISTENT)
BOOLEAN NTAPI ExAcquireSharedStarveExclusive(IN PERESOURCE Resource, IN BOOLEAN Wait)
__drv_aliasesMem FORCEINLINE PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(_In_ PIRP Irp)
__drv_mustHoldCriticalRegion NTSTATUS RfsdFlush(IN PRFSD_IRP_CONTEXT IrpContext)
NTSTATUS NTAPI RfsdFlushCompletionRoutine(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Contxt)
_In_ PIO_STACK_LOCATION IrpSp
NTSTATUS NTAPI IoCallDriver(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
__in UCHAR __in POWER_STATE __in_opt PVOID __in PIO_STATUS_BLOCK IoStatus
VOID NTAPI ExReleaseResourceForThreadLite(IN PERESOURCE Resource, IN ERESOURCE_THREAD Thread)
RFSD_IDENTIFIER Identifier
__drv_mustHoldCriticalRegion NTSTATUS RfsdFlushVolume(IN PRFSD_VCB Vcb, BOOLEAN bShutDown)