Data Structures |
| struct | FAT_GLOBAL_DATA |
| struct | PFAT_PAGE_CONTEXT |
| struct | FAT_IRP_CONTEXT |
| struct | FAT_IO_CONTEXT |
| struct | PFAT_METHODS |
| struct | PVCB |
| struct | PVOLUME_DEVICE_OBJECT |
| struct | PFCB_NAME_LINK |
| struct | PFCB |
| struct | FAT_ENUM_DIRENT_CONTEXT |
| struct | PFAT_FIND_DIRENT_CONTEXT |
| struct | PCLOSE_CONTEXT |
| struct | PCCB |
Defines |
| #define | FatNodeType(Ptr) (*((PFAT_NODE_TYPE)(Ptr))) |
| #define | FAT_NTC_VCB (CSHORT) '00VF' |
| #define | FAT_NTC_FCB (CSHORT) 'CF' |
| #define | FAT_NTC_DCB (CSHORT) 'DF' |
| #define | FAT_NTC_ROOT_DCB (CSHORT) 'RFD' |
| #define | FAT_NTC_CCB (CSHORT) 'BCC' |
| #define | FAT_NTC_IRP_CONTEXT (CSHORT) 'PRI' |
| #define | FatPinSetupContext(xContext, xFcb, CanWait) |
| #define | FatPinCleanupContext(xContext) |
| #define | FatPinEndOfPage(xContext, xType) Add2Ptr((xContext)->Buffer, (xContext)->ValidLength, xType) |
| #define | FatPinIsLastPage(xContext) ((xContext)->ValidLength != PAGE_SIZE) |
| #define | IRPCONTEXT_CANWAIT 0x0001 |
| #define | IRPCONTEXT_PENDINGRETURNED 0x0002 |
| #define | IRPCONTEXT_STACK_IO_CONTEXT 0x0004 |
| #define | IRPCONTEXT_WRITETHROUGH 0x0008 |
| #define | IRPCONTEXT_TOPLEVEL 0x0010 |
| #define | VCB_STATE_FLAG_LOCKED 0x001 |
| #define | VCB_STATE_FLAG_DIRTY 0x002 |
| #define | VCB_STATE_MOUNTED_DIRTY 0x004 |
| #define | VCB_STATE_CREATE_IN_PROGRESS 0x008 |
| #define | VCB_STATE_FLAG_CLOSE_IN_PROGRESS 0x010 |
| #define | VCB_STATE_FLAG_DELETED_FCB 0x020 |
| #define | VCB_STATE_FLAG_DISMOUNT_IN_PROGRESS 0x040 |
| #define | VCB_STATE_FLAG_DEFERRED_FLUSH 0x080 |
| #define | VCB_STATE_FLAG_WRITE_PROTECTED 0x100 |
| #define | VcbToVolumeDeviceObject(xVcb) CONTAINING_RECORD((xVcb), VOLUME_DEVICE_OBJECT, Vcb)) |
| #define | VcbToDeviceObject(xVcb) &(VcbToVolumeDeviceObject(xVcb)->DeviceObject) |
| #define | SectorsToBytes(xVcb, xSectrors) ((xVcb)->Bpb.BytesPerSector * (xSectrors)) |
| #define | BytesToSectors(xVcb, xBytes) ((xBytes + (xVcb)->Bpb.BytesPerSector - 1) / (xVcb)->Bpb.BytesPerSector) |
| #define | SectorsToClusters(xVcb, xSectors) ((xSectors + (xVcb)->Bpb.SectorsPerCluster - 1) / (xVcb)->Bpb.SectorsPerCluster) |
| #define | VCB_FAT_BITMAP_SIZE 0x10000 |
| #define | VcbFatBitmapIndex(xCluster) ((xCluster)/VCB_FAT_BITMAP_SIZE) |
| #define | FCB_STATE_HAS_NAMES 0x01 |
| #define | FCB_STATE_HAS_UNICODE_NAME 0x02 |
| #define | FCB_STATE_PAGEFILE 0x04 |
| #define | FCB_STATE_DELAY_CLOSE 0x08 |
| #define | FCB_STATE_TRUNCATE_ON_CLOSE 0x10 |
| #define | FCB_STATE_DELETE_ON_CLOSE 0x20 |
| #define | CCB_SEARCH_RETURN_SINGLE_ENTRY 0x01 |
| #define | CCB_SEARCH_PATTERN_LEGAL_8DOT3 0x02 |
| #define | CCB_SEARCH_PATTERN_HAS_WILD_CARD 0x04 |
| #define | CCB_DASD_IO 0x08 |
| #define | CCB_READ_ONLY 0x10 |
| #define | CCB_DELETE_ON_CLOSE 0x20 |
| #define | CCB_COMPLETE_DISMOUNT 0x40 |
| #define | CCB_CLOSE_CONTEXT 0x80 |
Typedefs |
| typedef struct _FAT_SCAN_CONTEXT * | PFAT_SCAN_CONTEXT |
| typedef struct _FAT_IO_CONTEXT * | PFAT_IO_CONTEXT |
| typedef struct _FAT_IRP_CONTEXT * | PFAT_IRP_CONTEXT |
| typedef PVOID | PBCB |
| typedef NTSTATUS(* | PFAT_OPERATION_HANDLER )(PFAT_IRP_CONTEXT) |
| typedef CSHORT | FAT_NODE_TYPE |
| typedef FAT_NODE_TYPE * | PFAT_NODE_TYPE |
| typedef ULONG(* | PFAT_SCANFAT_FOR_CONTINOUS_RUN_ROUTINE )(PFAT_PAGE_CONTEXT, PULONG, BOOLEAN) |
| typedef ULONG(* | PFAT_SETFAT_CONTINOUS_RUN_ROUTINE )(PFAT_PAGE_CONTEXT, ULONG, ULONG, BOOLEAN) |
| typedef ULONG(* | PFAT_SCANFAT_FOR_VALUE_RUN_ROUTINE )(PFAT_PAGE_CONTEXT, PULONG, ULONG, BOOLEAN) |
| typedef ULONG(* | PFAT_SETFAT_VALUE_RUN_ROUTINE )(PFAT_PAGE_CONTEXT, ULONG, ULONG, ULONG, BOOLEAN) |
typedef struct
_FAT_ENUM_DIRENT_CONTEXT * | PFAT_ENUM_DIRENT_CONTEXT |
typedef struct
_FAT_ENUM_DIR_CONTEXT * | PFAT_ENUM_DIR_CONTEXT |
| typedef ULONG(* | PFAT_COPY_DIRENT_ROUTINE )(PFAT_ENUM_DIR_CONTEXT, PDIR_ENTRY, PVOID) |
Enumerations |
| enum | VCB_CONDITION { VcbGood,
VcbNotMounted,
VcbBad
} |
| enum | TYPE_OF_OPEN {
UnopenedFileObject,
UserFileOpen,
UserDirectoryOpen,
UserVolumeOpen,
VirtualVolumeFile,
DirectoryFile,
EaFile
} |
| enum | _FCB_NAME_TYPE { FcbShortName = 0x0,
FcbLongName
} |
| enum | FCB_CONDITION { FcbGood,
FcbBad,
FcbNeedsToBeVerified
} |
| enum | FILE_TIME_INDEX { FileCreationTime = 0,
FileLastAccessTime,
FileLastWriteTime,
FileChangeTime
} |
Variables |
| enum _FCB_NAME_TYPE | FCB_NAME_TYPE |
| FAT_GLOBAL_DATA | FatGlobalData |