23 #define __volatile volatile 227 typedef struct _VCB {
250 #if (NTDDI_VERSION > NTDDI_WIN8) 552 ULONG CloseContextCount;
558 #define VCB_STATE_FLAG_LOCKED (0x00000001) 559 #define VCB_STATE_FLAG_REMOVABLE_MEDIA (0x00000002) 560 #define VCB_STATE_FLAG_VOLUME_DIRTY (0x00000004) 561 #define VCB_STATE_FLAG_MOUNTED_DIRTY (0x00000010) 562 #define VCB_STATE_FLAG_SHUTDOWN (0x00000040) 563 #define VCB_STATE_FLAG_CLOSE_IN_PROGRESS (0x00000080) 564 #define VCB_STATE_FLAG_DELETED_FCB (0x00000100) 565 #define VCB_STATE_FLAG_CREATE_IN_PROGRESS (0x00000200) 566 #define VCB_STATE_FLAG_BOOT_OR_PAGING_FILE (0x00000800) 567 #define VCB_STATE_FLAG_DEFERRED_FLUSH (0x00001000) 568 #define VCB_STATE_FLAG_ASYNC_CLOSE_ACTIVE (0x00002000) 569 #define VCB_STATE_FLAG_WRITE_PROTECTED (0x00004000) 570 #define VCB_STATE_FLAG_REMOVAL_PREVENTED (0x00008000) 571 #define VCB_STATE_FLAG_VOLUME_DISMOUNTED (0x00010000) 572 #define VCB_STATE_VPB_NOT_ON_DEVICE (0x00020000) 573 #define VCB_STATE_FLAG_VPB_MUST_BE_FREED (0x00040000) 574 #define VCB_STATE_FLAG_DISMOUNT_IN_PROGRESS (0x00080000) 575 #define VCB_STATE_FLAG_BAD_BLOCKS_POPULATED (0x00100000) 576 #define VCB_STATE_FLAG_HOTPLUGGABLE (0x00200000) 577 #define VCB_STATE_FLAG_MOUNT_IN_PROGRESS (0x00800000) 592 #define FILE_SYSTEM_STATISTICS_WITHOUT_PAD (sizeof( FILESYSTEM_STATISTICS ) + sizeof( FAT_STATISTICS )) 769 typedef struct _FCB {
852 #ifdef SYSCACHE_COMPILE 1072 #if (NTDDI_VERSION < NTDDI_WIN8) 1178 #ifndef BUILDING_FSKDEXT 1192 #define FCB_STATE_DELETE_ON_CLOSE (0x00000001) 1193 #define FCB_STATE_TRUNCATE_ON_CLOSE (0x00000002) 1194 #define FCB_STATE_PAGING_FILE (0x00000004) 1195 #define FCB_STATE_FORCE_MISS_IN_PROGRESS (0x00000008) 1196 #define FCB_STATE_FLUSH_FAT (0x00000010) 1197 #define FCB_STATE_TEMPORARY (0x00000020) 1198 #define FCB_STATE_SYSTEM_FILE (0x00000080) 1199 #define FCB_STATE_NAMES_IN_SPLAY_TREE (0x00000100) 1200 #define FCB_STATE_HAS_OEM_LONG_NAME (0x00000200) 1201 #define FCB_STATE_HAS_UNICODE_LONG_NAME (0x00000400) 1202 #define FCB_STATE_DELAY_CLOSE (0x00000800) 1209 #define FCB_STATE_8_LOWER_CASE (0x00001000) 1210 #define FCB_STATE_3_LOWER_CASE (0x00002000) 1216 #define FCB_STATE_DENY_DEFRAG (0x00004000) 1223 #define FCB_STATE_ZERO_ON_DEALLOCATION (0x00080000) 1229 #define DCB_UNION_SLACK_SPACE ((ULONG) \ 1230 (FIELD_OFFSET(DCB, EaModificationCount) - \ 1231 FIELD_OFFSET(DCB, Specific.Dcb.FreeDirentBitmapBuffer)) \ 1240 #define FCB_LOOKUP_ALLOCATIONSIZE_HINT ((LONGLONG) -1) 1251 #define CCB_FLAG_MATCH_ALL (0x0001) 1252 #define CCB_FLAG_SKIP_SHORT_NAME_COMPARE (0x0002) 1258 #define CCB_FLAG_FREE_OEM_BEST_FIT (0x0004) 1259 #define CCB_FLAG_FREE_UNICODE (0x0008) 1265 #define CCB_FLAG_USER_SET_LAST_WRITE (0x0010) 1266 #define CCB_FLAG_USER_SET_LAST_ACCESS (0x0020) 1267 #define CCB_FLAG_USER_SET_CREATION (0x0040) 1274 #define CCB_FLAG_READ_ONLY (0x0080) 1280 #define CCB_FLAG_DASD_FLUSH_DONE (0x0100) 1281 #define CCB_FLAG_DASD_PURGE_DONE (0x0200) 1288 #define CCB_FLAG_DELETE_ON_CLOSE (0x0400) 1295 #define CCB_FLAG_OPENED_BY_SHORTNAME (0x0800) 1302 #define CCB_FLAG_QUERY_TEMPLATE_MIXED (0x1000) 1309 #define CCB_FLAG_ALLOW_EXTENDED_DASD_IO (0x2000) 1316 #define CCB_FLAG_MATCH_VOLUME_ID (0x4000) 1323 #define CCB_FLAG_CLOSE_CONTEXT (0x8000) 1330 #define CCB_FLAG_COMPLETE_DISMOUNT (0x10000) 1337 #define CCB_FLAG_MANAGE_VOLUME_ACCESS (0x20000) 1344 #define CCB_FLAG_SENT_FORMAT_UNIT (0x40000) 1351 #define CCB_FLAG_DENY_DEFRAG (0x80000) 1357 #define CCB_FLAG_FIRST_WRITE_SEEN (0x100000) 1359 typedef struct _CCB {
1459 #define REPINNED_BCBS_ARRAY_SIZE (4) 1557 #define IRP_CONTEXT_FLAG_DISABLE_DIRTY (0x00000001) 1558 #define IRP_CONTEXT_FLAG_WAIT (0x00000002) 1559 #define IRP_CONTEXT_FLAG_WRITE_THROUGH (0x00000004) 1560 #define IRP_CONTEXT_FLAG_DISABLE_WRITE_THROUGH (0x00000008) 1561 #define IRP_CONTEXT_FLAG_RECURSIVE_CALL (0x00000010) 1562 #define IRP_CONTEXT_FLAG_DISABLE_POPUPS (0x00000020) 1563 #define IRP_CONTEXT_FLAG_DEFERRED_WRITE (0x00000040) 1564 #define IRP_CONTEXT_FLAG_VERIFY_READ (0x00000080) 1565 #define IRP_CONTEXT_STACK_IO_CONTEXT (0x00000100) 1566 #define IRP_CONTEXT_FLAG_IN_FSP (0x00000200) 1567 #define IRP_CONTEXT_FLAG_USER_IO (0x00000400) // for performance counters 1568 #define IRP_CONTEXT_FLAG_DISABLE_RAISE (0x00000800) 1569 #define IRP_CONTEXT_FLAG_OVERRIDE_VERIFY (0x00001000) 1570 #define IRP_CONTEXT_FLAG_CLEANUP_BREAKING_OPLOCK (0x00002000) 1573 #if (NTDDI_VERSION >= NTDDI_WINTHRESHOLD) 1574 #define IRP_CONTEXT_FLAG_SWAPPED_STACK (0x00100000) 1577 #define IRP_CONTEXT_FLAG_PARENT_BY_CHILD (0x80000000) 1712 #define EA_BCB_ARRAY_SIZE 8 1726 #define EA_RANGE_HEADER_SIZE (FIELD_OFFSET( EA_RANGE, BcbArray )) 1732 #define WIDE_LATIN_CAPITAL_A (0xff21) 1733 #define WIDE_LATIN_CAPITAL_Z (0xff3a) 1734 #define WIDE_LATIN_SMALL_A (0xff41) 1735 #define WIDE_LATIN_SMALL_Z (0xff5a) 1749 #if (NTDDI_VERSION >= NTDDI_WINTHRESHOLD) 1787 #endif // _FATSTRUC_ struct _FAT_CALLOUT_PARAMETERS * PFAT_CALLOUT_PARAMETERS
FAT_IO_CONTEXT * PFAT_IO_CONTEXT
struct _FAT_CALLOUT_PARAMETERS FAT_CALLOUT_PARAMETERS
LARGE_INTEGER CreationTime
union _FCB::@703 LongName
struct _IRP_CONTEXT IRP_CONTEXT
LARGE_INTEGER LastWriteTime
ULONG_PTR ERESOURCE_THREAD
NODE_TYPE_CODE NodeTypeCode
FSRTL_COMMON_FCB_HEADER VolumeFileHeader
struct _DEFERRED_FLUSH_CONTEXT DEFERRED_FLUSH_CONTEXT
PIO_WORKITEM FatCloseItem
UCHAR Pad[((FILE_SYSTEM_STATISTICS_WITHOUT_PAD+0x3f) &~0x3f) - FILE_SYSTEM_STATISTICS_WITHOUT_PAD]
PVOID CdromFileSystemDeviceObject
LIST_ENTRY AsyncCloseList
struct _FILE_SYSTEM_STATISTICS * Statistics
PRTL_SPLAY_LINKS RootOemNode
VBO OffsetToStartSearchFrom
struct _CLEAN_AND_DIRTY_VOLUME_PACKET CLEAN_AND_DIRTY_VOLUME_PACKET
FILE_NAME_NODE * PFILE_NAME_NODE
FSRTL_ADVANCED_FCB_HEADER Header
CACHE_MANAGER_CALLBACKS CacheManagerCallbacks
struct _FAT_IO_CONTEXT * FatIoContext
PUCHAR First0x24BytesOfBootSector
struct _DELETE_CONTEXT DELETE_CONTEXT
struct _VCB::@700 AllocationSupport
VOLUME_DEVICE_OBJECT * PVOLUME_DEVICE_OBJECT
RTL_BITMAP FreeClusterBitMap
BOOLEAN ContainsWildCards
KSPIN_LOCK GeneralSpinLock
PFILE_OBJECT VirtualVolumeFile
UNICODE_STRING UnicodeQueryTemplate
struct _FAT_IO_CONTEXT::@711::@712 Async
union _FAT_IO_CONTEXT::@711 Wait
SECTION_OBJECT_POINTERS SectionObjectPointers
#define REPINNED_BCBS_ARRAY_SIZE
LIST_ENTRY ParentDcbLinks
CLONG PurgeFailureModeEnableCount
SECTION_OBJECT_POINTERS SectionObjectPointers
ULONG EaModificationCount
__volatile ULONG DirectoryFileOpenCount
ERESOURCE ChangeBitMapResource
PFILE_OBJECT VirtualEaFile
FSRTL_ADVANCED_FCB_HEADER VolumeFileHeader
PFAT_WINDOW CurrentWindow
struct _PAGING_FILE_OVERFLOW_PACKET * PPAGING_FILE_OVERFLOW_PACKET
PFILE_OBJECT FileObjectWithVcbLocked
NODE_TYPE_CODE NodeTypeCode
struct _FCB::@702::@705 Fcb
LIST_ENTRY DelayedCloseList
_Inout_ PFILE_OBJECT _In_ TYPE_OF_OPEN TypeOfOpen
BOOLEAN CodePageInvariant
LARGE_INTEGER LastAccessTime
REPINNED_BCBS * PREPINNED_BCBS
FAST_MUTEX DirectoryFileCreationMutex
PBCB BcbArray[EA_BCB_ARRAY_SIZE]
FAST_MUTEX AdvancedFcbHeaderMutex
ULONG EaModificationCount
UCHAR LogOfBytesPerSector
enum _FCB_CONDITION FCB_CONDITION
enum _VCB_CONDITION VCB_CONDITION
struct _NON_PAGED_FCB NON_PAGED_FCB
struct _FAT_IO_CONTEXT FAT_IO_CONTEXT
PFILE_OBJECT DirectoryFile
FILESYSTEM_STATISTICS Common
struct _REPINNED_BCBS REPINNED_BCBS
DEVICE_OBJECT DeviceObject
PDRIVER_OBJECT DriverObject
ULONG OffsetOfNextEaToReturn
struct _EA_RANGE * PEA_RANGE
struct _CLEAN_AND_DIRTY_VOLUME_PACKET * PCLEAN_AND_DIRTY_VOLUME_PACKET
union _FCB::@702 Specific
UNICODE_STRING VolumeGuidPath
ERESOURCE_THREAD ResourceThreadId
union _FILE_NAME_NODE::@701 Name
CLONG NonCachedUncleanCount
PDEVICE_OBJECT TargetDeviceObject
enum _CLUSTER_TYPE CLUSTER_TYPE
WORK_QUEUE_ITEM WorkQueueItem
VBO LfnOffsetWithinDirectory
PNON_PAGED_FCB NonPagedFcb
NON_PAGED_FCB * PNON_PAGED_FCB
LIST_ENTRY ParentDcbQueue
struct _FAT_DATA FAT_DATA
UNICODE_STRING FullFileName
NODE_TYPE_CODE NodeTypeCode
IRP_CONTEXT * PIRP_CONTEXT
NODE_BYTE_SIZE NodeByteSize
FAST_MUTEX AdvancedFcbHeaderMutex
CLONG DirectAccessOpenCount
struct _FAT_CALLOUT_PARAMETERS::@713::@715 Create
union _CCB::@706::@708::@710 OemQueryTemplate
struct _PAGING_FILE_OVERFLOW_PACKET PAGING_FILE_OVERFLOW_PACKET
LARGE_INTEGER LastFatMarkVolumeDirtyCall
PVOID EncryptionOnCloseContext
CLOSE_CONTEXT * PCLOSE_CONTEXT
__volatile ULONG InternalOpenCount
ULONG FreeDirentBitmapBuffer[1]
DELETE_CONTEXT * PDELETE_CONTEXT
CLOSE_CONTEXT CloseContext
PDEVICE_OBJECT RealDevice
NODE_BYTE_SIZE NodeByteSize
VBO DirentOffsetWithinDirectory
FAST_MUTEX FreeClusterBitMapMutex
VCB_CONDITION VcbCondition
PKEVENT OutstandingAsyncEvent
PDEVICE_OBJECT CurrentDevice
struct _VOLUME_DEVICE_OBJECT VOLUME_DEVICE_OBJECT
#define FILE_SYSTEM_STATISTICS_WITHOUT_PAD
ULONG NumberOfFreeClusters
struct _REPINNED_BCBS * Next
PBCB Bcb[REPINNED_BCBS_ARRAY_SIZE]
struct _FILE_NAME_NODE FILE_NAME_NODE
NODE_BYTE_SIZE NodeByteSize
LIST_ENTRY DelayedCloseList
struct _EA_RANGE EA_RANGE
FILE_SYSTEM_STATISTICS * PFILE_SYSTEM_STATISTICS
KSPIN_LOCK OverflowQueueSpinLock
#define EA_BCB_ARRAY_SIZE
struct _FILE_SYSTEM_STATISTICS FILE_SYSTEM_STATISTICS
enum _VCB_CONDITION VCB_CONDITION
LIST_ENTRY AsyncCloseList
__volatile ULONG ResidualOpenCount
struct _FAT_WINDOW FAT_WINDOW
enum _FCB_CONDITION FCB_CONDITION
PRTL_SPLAY_LINKS RootUnicodeNode
UNICODE_STRING ExactCaseLongName
PVOID DiskFileSystemDeviceObject
struct _FCB::@702::@704 Dcb
UCHAR LogOfBytesPerCluster
RTL_BITMAP FreeDirentBitmap
DEFERRED_FLUSH_CONTEXT * PDEFERRED_FLUSH_CONTEXT
ULONG OutstandingAsyncWrites
FCB_CONDITION FcbCondition
CACHE_MANAGER_CALLBACKS CacheManagerNoOpCallbacks