#include "UdfProcs.h"
Go to the source code of this file.
Defines | |
#define | BugCheckFileId (UDFS_BUG_CHECK_CLOSE) |
#define | Dbg (UDFS_DEBUG_LEVEL_CLOSE) |
Functions | |
BOOLEAN | UdfCommonClosePrivate (IN PIRP_CONTEXT IrpContext, IN PVCB Vcb, IN PFCB Fcb, IN ULONG UserReference, IN BOOLEAN FromFsd) |
VOID | UdfQueueClose (IN PIRP_CONTEXT IrpContext, IN PFCB Fcb, IN ULONG UserReference, IN BOOLEAN DelayedClose) |
PIRP_CONTEXT | UdfRemoveClose (IN PVCB Vcb OPTIONAL) |
VOID | UdfFspClose (IN PVCB Vcb OPTIONAL) |
NTSTATUS | UdfCommonClose (IN PIRP_CONTEXT IrpContext, IN PIRP Irp) |
|
|
|
|
|
Definition at line 319 of file close.c. References ASSERT_IRP, ASSERT_IRP_CONTEXT, FALSE, _FCB::FcbReference, FlagOn, IoGetCurrentIrpStackLocation, Irp, IRP_CONTEXT_FLAG_TOP_LEVEL_UDFS, NULL, PAGED_CODE, TRUE, TYPE_OF_OPEN, UdfAcquireUdfData, UdfCheckForDismount(), UdfCommonClosePrivate(), UdfCompleteRequest(), UdfDecodeFileObject(), UdfDeleteCcb(), UdfQueueClose(), UdfReleaseUdfData, UnopenedFileObject, UserDirectoryOpen, UserFileOpen, _FCB::Vcb, _VCB::VcbCleanup, _VCB::VcbCondition, VcbMounted, and VcbMountInProgress. Referenced by UdfFsdDispatch().
|
|
Definition at line 498 of file close.c. References ASSERT_FCB, ASSERT_IRP_CONTEXT, ASSERT_VCB, Dbg, DebugTrace, FALSE, PAGED_CODE, TRUE, UdfAcquireFcbExclusive, UdfAcquireVcbShared, UdfDecrementReferenceCounts, UdfLockVcb, UdfReleaseFcb, UdfReleaseVcb, UdfTeardownStructures(), and UdfUnlockVcb. Referenced by UdfCommonClose(), and UdfFspClose().
|
|
Definition at line 99 of file close.c. References ASSERT_OPTIONAL_VCB, ClearFlag, Dbg, DebugTrace, _IRP_CONTEXT::ExceptionStatus, FALSE, _FCB::FcbReference, _FCB::FcbUserReference, _IRP_CONTEXT::Flags, FsRtlEnterFileSystem, FsRtlExitFileSystem, _IRP_CONTEXT::Irp, IRP_CONTEXT, IRP_CONTEXT_FLAG_TOP_LEVEL, IRP_CONTEXT_FLAG_TOP_LEVEL_UDFS, IRP_CONTEXT_FSP_FLAGS, _UDF_DATA::MinDelayedCloseCount, NULL, PAGED_CODE, PIRP_CONTEXT_LITE, SafeNodeType, SetFlag, THREAD_CONTEXT, ThreadContext, UdfAcquireUdfData, UdfAcquireVcbShared, UdfCheckForDismount(), UdfCommonClosePrivate(), UdfCompleteRequest(), UdfData, UdfFreeIrpContextLite, UdfInitializeStackIrpContext(), UdfReleaseUdfData, UdfReleaseVcb, UdfRemoveClose(), UDFS_NTC_IRP_CONTEXT, UdfSetThreadContext(), _FCB::Vcb, _VCB::VcbCleanup, _VCB::VcbCondition, VcbMounted, VcbMountInProgress, _VCB::VcbReference, and _VCB::VcbUserReference. Referenced by UdfCheckForDismount(), UdfCompleteFcbOpen(), UdfDismountVcb(), UdfInitializeGlobalData(), UdfLockVolumeInternal(), and UdfPurgeVolume().
|
|
Definition at line 634 of file close.c. References ASSERT_FCB, ASSERT_IRP_CONTEXT, _UDF_DATA::AsyncCloseCount, _UDF_DATA::AsyncCloseQueue, _UDF_DATA::CloseItem, CriticalWorkQueue, Dbg, DebugTrace, _UDF_DATA::DelayedCloseCount, _IRP_CONTEXT_LITE::DelayedCloseLinks, _UDF_DATA::DelayedCloseQueue, ExQueueWorkItem(), FALSE, _IRP_CONTEXT_LITE::Fcb, _UDF_DATA::FspCloseActive, IRP_CONTEXT_FLAG_MORE_PROCESSING, IRP_CONTEXT_LITE, _UDF_DATA::MaxDelayedCloseCount, _IRP_CONTEXT_LITE::NodeByteSize, _IRP_CONTEXT_LITE::NodeTypeCode, NTSTATUS(), NULL, PAGED_CODE, _IRP_CONTEXT_LITE::RealDevice, _UDF_DATA::ReduceDelayedClose, SetFlag, TRUE, UdfCleanupIrpContext(), UdfCompleteRequest(), UdfCreateIrpContextLite, UdfData, UdfLockUdfData, UDFS_NTC_IRP_CONTEXT_LITE, UdfUnlockUdfData, and _IRP_CONTEXT_LITE::UserReference. Referenced by UdfCommonClose().
|
|
Definition at line 833 of file close.c. References ASSERT_OPTIONAL_VCB, _UDF_DATA::AsyncCloseCount, _UDF_DATA::AsyncCloseQueue, _UDF_DATA::DelayedCloseCount, _UDF_DATA::DelayedCloseQueue, FALSE, _IRP_CONTEXT_LITE::Fcb, _UDF_DATA::FspCloseActive, _UDF_DATA::MinDelayedCloseCount, NULL, PAGED_CODE, _UDF_DATA::ReduceDelayedClose, UdfData, UdfLockUdfData, UdfUnlockUdfData, _FCB::Vcb, and _IRP_CONTEXT::Vcb. Referenced by UdfFspClose().
|