Data Structures |
| struct | PDISK_INFORMATION |
| struct | PEFI_PARTITION_HEADER |
| struct | PEFI_PARTITION_ENTRY |
| struct | PPARTITION_TABLE_ENTRY |
| struct | PMASTER_BOOT_RECORD |
Defines |
| #define | NDEBUG |
| #define | TAG_FSTUB 'BtsF' |
| #define | PARTITION_ENTRY_SIZE 128 |
| #define | EFI_HEADER_SIGNATURE 0x5452415020494645ULL |
| #define | EFI_HEADER_REVISION_1 0x00010000 |
| #define | EFI_PMBR_OSTYPE_EFI 0xEE |
| #define | IS_VALID_DISK_INFO(Disk) |
Functions |
| VOID NTAPI | FstubDbgPrintPartitionEx (IN PPARTITION_INFORMATION_EX PartitionEntry, IN ULONG PartitionNumber) |
| NTSTATUS NTAPI | FstubDetectPartitionStyle (IN PDISK_INFORMATION Disk, IN PARTITION_STYLE *PartitionStyle) |
| VOID NTAPI | FstubFreeDiskInformation (IN PDISK_INFORMATION DiskBuffer) |
| NTSTATUS NTAPI | FstubGetDiskGeometry (IN PDEVICE_OBJECT DeviceObject, OUT PDISK_GEOMETRY_EX Geometry) |
| NTSTATUS NTAPI | FstubReadSector (IN PDEVICE_OBJECT DeviceObject, IN ULONG SectorSize, IN ULONGLONG StartingSector OPTIONAL, OUT PUSHORT Buffer) |
| NTSTATUS NTAPI | FstubWriteBootSectorEFI (IN PDISK_INFORMATION Disk) |
| NTSTATUS NTAPI | FstubWritePartitionTableEFI (IN PDISK_INFORMATION Disk, IN GUID DiskGUID, IN ULONG MaxPartitionCount, IN ULONGLONG FirstUsableLBA, IN ULONGLONG LastUsableLBA, IN BOOLEAN WriteBackupTable, IN ULONG PartitionCount, IN PPARTITION_INFORMATION_EX PartitionEntries OPTIONAL) |
| NTSTATUS NTAPI | FstubWriteSector (IN PDEVICE_OBJECT DeviceObject, IN ULONG SectorSize, IN ULONGLONG StartingSector OPTIONAL, IN PUSHORT Buffer) |
| VOID NTAPI | FstubAdjustPartitionCount (IN ULONG SectorSize, IN OUT PULONG PartitionCount) |
| NTSTATUS NTAPI | FstubAllocateDiskInformation (IN PDEVICE_OBJECT DeviceObject, OUT PDISK_INFORMATION *DiskBuffer, PDISK_GEOMETRY_EX DiskGeometry OPTIONAL) |
| PDRIVE_LAYOUT_INFORMATION NTAPI | FstubConvertExtendedToLayout (IN PDRIVE_LAYOUT_INFORMATION_EX LayoutEx) |
| VOID NTAPI | FstubCopyEntryEFI (OUT PEFI_PARTITION_ENTRY Entry, IN PPARTITION_INFORMATION_EX Partition, ULONG SectorSize) |
| NTSTATUS NTAPI | FstubCreateDiskMBR (IN PDEVICE_OBJECT DeviceObject, IN PCREATE_DISK_MBR DiskInfo) |
| NTSTATUS NTAPI | FstubCreateDiskEFI (IN PDEVICE_OBJECT DeviceObject, IN PCREATE_DISK_GPT DiskInfo) |
| NTSTATUS NTAPI | FstubCreateDiskRaw (IN PDEVICE_OBJECT DeviceObject) |
| PCHAR NTAPI | FstubDbgGuidToString (IN PGUID Guid, OUT PCHAR String) |
| VOID NTAPI | FstubDbgPrintDriveLayoutEx (IN PDRIVE_LAYOUT_INFORMATION_EX DriveLayout) |
| VOID NTAPI | FstubDbgPrintSetPartitionEx (IN PSET_PARTITION_INFORMATION_EX PartitionEntry, IN ULONG PartitionNumber) |
| NTSTATUS NTAPI | FstubReadHeaderEFI (IN PDISK_INFORMATION Disk, IN BOOLEAN ReadBackupTable, PEFI_PARTITION_HEADER HeaderBuffer) |
| NTSTATUS NTAPI | FstubReadPartitionTableEFI (IN PDISK_INFORMATION Disk, IN BOOLEAN ReadBackupTable, OUT struct _DRIVE_LAYOUT_INFORMATION_EX **DriveLayout) |
| NTSTATUS NTAPI | FstubReadPartitionTableMBR (IN PDISK_INFORMATION Disk, IN BOOLEAN ReturnRecognizedPartitions, OUT struct _DRIVE_LAYOUT_INFORMATION_EX **ReturnedDriveLayout) |
| NTSTATUS NTAPI | FstubSetPartitionInformationEFI (IN PDISK_INFORMATION Disk, IN ULONG PartitionNumber, IN SET_PARTITION_INFORMATION_GPT *PartitionInfo) |
| NTSTATUS NTAPI | FstubVerifyPartitionTableEFI (IN PDISK_INFORMATION Disk, IN BOOLEAN FixErrors) |
| NTSTATUS NTAPI | FstubWriteEntryEFI (IN PDISK_INFORMATION Disk, IN ULONG PartitionsSizeSector, IN ULONG PartitionEntryNumber, IN PEFI_PARTITION_ENTRY PartitionEntry, IN BOOLEAN WriteBackupTable, IN BOOLEAN ForceWrite, OUT PULONG PartitionEntryCRC32 OPTIONAL) |
| NTSTATUS NTAPI | FstubWriteHeaderEFI (IN PDISK_INFORMATION Disk, IN ULONG PartitionsSizeSector, IN GUID DiskGUID, IN ULONG NumberOfEntries, IN ULONGLONG FirstUsableLBA, IN ULONGLONG LastUsableLBA, IN ULONG PartitionEntryCRC32, IN BOOLEAN WriteBackupTable) |
| NTSTATUS NTAPI | FstubWritePartitionTableMBR (IN PDISK_INFORMATION Disk, IN PDRIVE_LAYOUT_INFORMATION_EX LayoutEx) |
| NTSTATUS NTAPI | IoCreateDisk (IN PDEVICE_OBJECT DeviceObject, IN struct _CREATE_DISK *Disk) |
| NTSTATUS NTAPI | IoGetBootDiskInformation (IN OUT PBOOTDISK_INFORMATION BootDiskInformation, IN ULONG Size) |
| NTSTATUS NTAPI | IoReadDiskSignature (IN PDEVICE_OBJECT DeviceObject, IN ULONG BytesPerSector, OUT PDISK_SIGNATURE Signature) |
| NTSTATUS NTAPI | IoReadPartitionTableEx (IN PDEVICE_OBJECT DeviceObject, IN struct _DRIVE_LAYOUT_INFORMATION_EX **DriveLayout) |
| NTSTATUS NTAPI | IoSetPartitionInformationEx (IN PDEVICE_OBJECT DeviceObject, IN ULONG PartitionNumber, IN struct _SET_PARTITION_INFORMATION_EX *PartitionInfo) |
| NTSTATUS NTAPI | IoVerifyPartitionTable (IN PDEVICE_OBJECT DeviceObject, IN BOOLEAN FixErrors) |
| NTSTATUS NTAPI | IoWritePartitionTableEx (IN PDEVICE_OBJECT DeviceObject, IN struct _DRIVE_LAYOUT_INFORMATION_EX *DriveLayout) |