#include "UdfProcs.h"
Go to the source code of this file.
Classes | |
struct | _COMPOUND_DIR_ENUM_CONTEXT |
Defines | |
#define | BugCheckFileId (UDFS_BUG_CHECK_DIRCTRL) |
#define | Dbg (UDFS_DEBUG_LEVEL_DIRCTRL) |
#define | UDF_FILE_INDEX_VIRTUAL_SELF 0 |
#define | UDF_FILE_INDEX_PHYSICAL 1 |
Typedefs | |
typedef _COMPOUND_DIR_ENUM_CONTEXT | COMPOUND_DIR_ENUM_CONTEXT |
typedef _COMPOUND_DIR_ENUM_CONTEXT * | PCOMPOUND_DIR_ENUM_CONTEXT |
Functions | |
INLINE VOID | UdfInitializeCompoundDirContext (IN PIRP_CONTEXT IrpContext, IN PCOMPOUND_DIR_ENUM_CONTEXT CompoundDirContext) |
INLINE VOID | UdfCleanupCompoundDirContext (IN PIRP_CONTEXT IrpContext, IN PCOMPOUND_DIR_ENUM_CONTEXT CompoundDirContext) |
INLINE LONGLONG | UdfFileIndexToPhysicalOffset (LONGLONG FileIndex) |
INLINE LONGLONG | UdfPhysicalOffsetToFileIndex (LONGLONG PhysicalOffset) |
INLINE BOOLEAN | UdfIsFileIndexVirtual (LONGLONG FileIndex) |
NTSTATUS | UdfQueryDirectory (IN PIRP_CONTEXT IrpContext, IN PIRP Irp, IN PIO_STACK_LOCATION IrpSp, IN PFCB Fcb, IN PCCB Ccb) |
NTSTATUS | UdfNotifyChangeDirectory (IN PIRP_CONTEXT IrpContext, IN PIRP Irp, IN PIO_STACK_LOCATION IrpSp, IN PCCB Ccb) |
VOID | UdfInitializeEnumeration (IN PIRP_CONTEXT IrpContext, IN PIO_STACK_LOCATION IrpSp, IN PFCB Fcb, IN OUT PCCB Ccb, IN OUT PCOMPOUND_DIR_ENUM_CONTEXT CompoundDirContext, OUT PBOOLEAN ReturnNextEntry, OUT PBOOLEAN ReturnSingleEntry, OUT PBOOLEAN InitialQuery) |
BOOLEAN | UdfEnumerateIndex (IN PIRP_CONTEXT IrpContext, IN PCCB Ccb, IN OUT PCOMPOUND_DIR_ENUM_CONTEXT CompoundDirContext, IN BOOLEAN ReturnNextEntry) |
VOID | UdfLookupFileEntryInEnumeration (IN PIRP_CONTEXT IrpContext, IN PFCB Fcb, IN PCOMPOUND_DIR_ENUM_CONTEXT CompoundDirContext) |
BOOLEAN | UdfLookupInitialFileIndex (IN PIRP_CONTEXT IrpContext, IN PFCB Fcb, IN PCOMPOUND_DIR_ENUM_CONTEXT CompoundDirContext, IN PLONGLONG InitialIndex) |
BOOLEAN | UdfLookupNextFileIndex (IN PIRP_CONTEXT IrpContext, IN PFCB Fcb, IN PCOMPOUND_DIR_ENUM_CONTEXT CompoundDirContext) |
NTSTATUS | UdfCommonDirControl (IN PIRP_CONTEXT IrpContext, IN PIRP Irp) |
|
|
|
|
|
Definition at line 88 of file dirctrl.c. Referenced by UdfFileIndexToPhysicalOffset(), UdfInitializeEnumeration(), UdfIsFileIndexVirtual(), UdfLookupNextFileIndex(), and UdfPhysicalOffsetToFileIndex(). |
|
Definition at line 82 of file dirctrl.c. Referenced by UdfInitializeEnumeration(), and UdfLookupInitialFileIndex(). |
|
|
|
|
|
Definition at line 112 of file dirctrl.c. References UdfCleanupDirContext(), and UdfCleanupIcbContext(). Referenced by UdfQueryDirectory().
|
|
Definition at line 255 of file dirctrl.c. References _IO_STACK_LOCATION::FileObject, IoGetCurrentIrpStackLocation, Irp, IRP_MN_NOTIFY_CHANGE_DIRECTORY, IRP_MN_QUERY_DIRECTORY, _IO_STACK_LOCATION::MinorFunction, NTSTATUS(), PAGED_CODE, Status, UdfCompleteRequest(), UdfDecodeFileObject(), UdfNotifyChangeDirectory(), UdfQueryDirectory(), and UserDirectoryOpen. Referenced by UdfFsdDispatch(), and UdfFspDispatch().
|
|
Definition at line 1500 of file dirctrl.c. References ASSERT_CCB, ASSERT_IRP_CONTEXT, BooleanFlagOn, BYTE_COUNT_8_DOT_3, _DIR_ENUM_CONTEXT::CaseObjectName, CCB_FLAG_ENUM_MATCH_ALL, CCB_FLAG_ENUM_NAME_EXP_HAS_WILD, CCB_FLAG_ENUM_NOMATCH_CONSTANT_ENTRY, CCB_FLAG_IGNORE_CASE, DIR_CONTEXT_FLAG_SEEN_NONCONSTANT, FALSE, _DIR_ENUM_CONTEXT::Fid, FlagOn, NSR_FID::Flags, _DIR_ENUM_CONTEXT::Flags, FsRtlAllocatePoolWithTag, NSR_FID_F_DELETED, NULL, PAGED_CODE, _DIR_ENUM_CONTEXT::PureObjectName, _DIR_ENUM_CONTEXT::ShortObjectName, TAG_SHORT_FILE_NAME, TRUE, UdfGenerate8dot3Name(), UdfIs8dot3Name(), UdfIsNameInExpression(), UdfLookupNextFileIndex(), UdfPagedPool, and UdfUpdateDirNames(). Referenced by UdfQueryDirectory().
|
|
Definition at line 151 of file dirctrl.c. References UDF_FILE_INDEX_PHYSICAL. Referenced by UdfLookupInitialFileIndex().
|
|
Definition at line 96 of file dirctrl.c. References TIMESTAMP_BUNDLE, UdfFastInitializeIcbContext(), and UdfInitializeDirContext(). Referenced by UdfQueryDirectory().
|
|
Definition at line 1003 of file dirctrl.c. References ASSERT, ASSERT_CCB, ASSERT_FCB_INDEX, ASSERT_IRP_CONTEXT, BooleanFlagOn, CCB_FLAG_ENUM_INITIALIZED, CCB_FLAG_ENUM_MATCH_ALL, CCB_FLAG_ENUM_NAME_EXP_HAS_WILD, CCB_FLAG_ENUM_NOMATCH_CONSTANT_ENTRY, CCB_FLAG_ENUM_RETURN_NEXT, CCB_FLAG_IGNORE_CASE, EqualTo, FALSE, FileName, FlagOn, FsRtlAllocatePoolWithTag, FsRtlDoesNameContainWildCards(), ISONsrFidSize, L, Max, NTSTATUS(), NULL, PAGED_CODE, RtlUpcaseUnicodeString(), SELF_ENTRY, SetFlag, SL_INDEX_SPECIFIED, SL_RESTART_SCAN, SL_RETURN_SINGLE_ENTRY, Status, TAG_ENUM_EXPRESSION, TRUE, UDF_FILE_INDEX_PHYSICAL, UDF_FILE_INDEX_VIRTUAL_SELF, UdfCleanupDirContext(), UdfFreePool(), UdfFullCompareNames(), UdfInitializeDirContext(), UdfLockFcb, UdfLookupInitialFileIndex(), UdfLookupNextFileIndex(), UdfPagedPool, UdfRaiseStatus(), UdfUnicodeDirectoryNames, UdfUnlockFcb, and UdfUpdateDirNames(). Referenced by UdfQueryDirectory().
|
|
Definition at line 171 of file dirctrl.c. References UDF_FILE_INDEX_PHYSICAL. Referenced by UdfLookupFileEntryInEnumeration(), UdfLookupInitialFileIndex(), and UdfLookupNextFileIndex().
|
|
Definition at line 1688 of file dirctrl.c. References ASSERT, ICBFILE::Destag, DESTAG_ID_NSR_FILE, ICBTAG::FileType, FlagOn, NSR_FID::Flags, NSR_FID::Icb, ICBFILE::Icbtag, ICBTAG_FILE_T_BLOCK_DEV, ICBTAG_FILE_T_C_ISSOCK, ICBTAG_FILE_T_CHAR_DEV, ICBTAG_FILE_T_DIRECTORY, ICBTAG_FILE_T_FIFO, ICBTAG_FILE_T_FILE, ICBTAG_FILE_T_PATHLINK, DESTAG::Ident, NSRLBA::Lbn, NSRLENGTH::Length, LONGAD::Length, NSR_FID_F_DIRECTORY, NULL, NSRLBA::Partition, LONGAD::Start, UdfCleanupIcbContext(), UdfInitializeIcbContext(), UdfInitializeIcbContextFromFcb(), UdfIsFileIndexVirtual(), UdfLookupActiveIcb(), and UdfRaiseStatus(). Referenced by UdfQueryDirectory().
|
|
Definition at line 1800 of file dirctrl.c. References TRUE, UDF_FILE_INDEX_VIRTUAL_SELF, UdfFileIndexToPhysicalOffset(), UdfIsFileIndexVirtual(), and UdfLookupInitialDirEntry(). Referenced by UdfInitializeEnumeration().
|
|
Definition at line 1863 of file dirctrl.c. References ISONsrFidSize, NULL, UDF_FILE_INDEX_PHYSICAL, UdfIsFileIndexVirtual(), UdfLookupInitialDirEntry(), and UdfLookupNextDirEntry(). Referenced by UdfEnumerateIndex(), and UdfInitializeEnumeration().
|
|
Definition at line 904 of file dirctrl.c. References BooleanFlagOn, FALSE, FsRtlNotifyFullChangeDirectory(), Irp, IRP_CONTEXT_FLAG_WAIT, NULL, PAGED_CODE, SetFlag, SL_WATCH_TREE, UdfAcquireVcbShared, UdfCompleteRequest(), UdfReleaseVcb, and UdfVerifyVcb(). Referenced by UdfCommonDirControl().
|
|
Definition at line 161 of file dirctrl.c. References UDF_FILE_INDEX_PHYSICAL.
|
|
Definition at line 334 of file dirctrl.c. References _TIMESTAMP_BUNDLE::AccessTime, _ICB_SEARCH_CONTEXT::Active, Add2Ptr, BYTE_COUNT_8_DOT_3, _DIR_ENUM_CONTEXT::CaseObjectName, CCB_FLAG_ENUM_RETURN_NEXT, ClearFlag, _TIMESTAMP_BUNDLE::CreationTime, DIR_CONTEXT_FLAG_SEEN_NONCONSTANT, _COMPOUND_DIR_ENUM_CONTEXT::DirContext, EXCEPTION_CONTINUE_SEARCH, EXCEPTION_EXECUTE_HANDLER, FALSE, _DIR_ENUM_CONTEXT::Fid, _COMPOUND_DIR_ENUM_CONTEXT::FileIndex, FileName, ICBTAG::FileType, FlagOn, _DIR_ENUM_CONTEXT::Flags, NSR_FID::Flags, FsRtlIsNtstatusExpected(), _COMPOUND_DIR_ENUM_CONTEXT::IcbContext, ICBFILE::Icbtag, ICBTAG_FILE_T_DIRECTORY, ICBFILE::InfoLength, _IRP::IoStatus, Irp, LlBlockAlign, _TIMESTAMP_BUNDLE::ModificationTime, NSR_FID_F_HIDDEN, NT_ERROR, NTSTATUS(), _DIR_ENUM_CONTEXT::ObjectName, PAGED_CODE, PICBFILE, _DIR_ENUM_CONTEXT::PureObjectName, QuadAlign, SetFlag, _DIR_ENUM_CONTEXT::ShortObjectName, Status, _COMPOUND_DIR_ENUM_CONTEXT::Timestamps, TRUE, try_leave, UdfAcquireFileShared, UdfCleanupCompoundDirContext(), UdfCompleteRequest(), UdfEnumerateIndex(), UdfGenerate8dot3Name(), UdfInitializeCompoundDirContext(), UdfInitializeEnumeration(), UdfIs8dot3Name(), UdfLockFcb, UdfLookupFileEntryInEnumeration(), UdfMapUserBuffer, UdfReleaseFile, UdfUnlockFcb, UdfUpdateTimestampsFromIcbContext(), UdfVerifyFcbOperation(), and _MAPPED_PVIEW::View. Referenced by UdfCommonDirControl().
|