35#define PARTITION_ENTRY_UNUSED 0x00
36#define PARTITION_FAT_12 0x01
37#define PARTITION_FAT_16 0x04
38#define PARTITION_EXTENDED 0x05
39#define PARTITION_HUGE 0x06
40#define PARTITION_IFS 0x07
41#define PARTITION_FAT32 0x0B
42#define PARTITION_FAT32_XINT13 0x0C
43#define PARTITION_XINT13 0x0E
44#define PARTITION_XINT13_EXTENDED 0x0F
45#define PARTITION_PREP 0x41
46#define PARTITION_LDM 0x42
47#define PARTITION_GPT 0xEE
55#if defined(__i386__) || defined(_M_AMD64)
VOID DiskDetectPartitionType(_In_ UCHAR DriveNumber)
BOOLEAN DiskGetBootPartitionEntry(_In_ UCHAR DriveNumber, _Out_opt_ PPARTITION_INFORMATION PartitionEntry, _Out_ PULONG BootPartition)
ULONG FrldrGetBootPartition(VOID)
PCSTR DiskGetErrorCodeString(_In_ ULONG ErrorCode)
CCHAR FrLdrBootPath[MAX_PATH]
PCCHAR FrLdrGetBootPath(VOID)
ULONG LoadBootDeviceDriver(VOID)
UCHAR FrldrGetBootDrive(VOID)
BOOLEAN DiskGetPartitionEntry(_In_ UCHAR DriveNumber, _In_opt_ ULONG SectorSize, _In_ ULONG PartitionNumber, _Out_ PPARTITION_INFORMATION PartitionEntry)
LONG DiskReportError(_In_ BOOLEAN bShowError)
struct _GEOMETRY * PGEOMETRY
struct _GEOMETRY GEOMETRY
SIZE_T DiskReadBufferSize
ARC_STATUS DiskInitialize(_In_ UCHAR DriveNumber, _In_ PCSTR DeviceName, _In_ CONFIGURATION_TYPE DeviceType, _In_ const struct tagDEVVTBL *FuncTable, _Out_opt_ PULONG pChecksum, _Out_opt_ PULONG pSignature, _Out_opt_ PBOOLEAN pValidPartitionTable)
VOID DiskError(_In_ PCSTR ErrorString, _In_ ULONG ErrorCode)
_In_ NDIS_ERROR_CODE ErrorCode
VOID __cdecl DiskStopFloppyMotor(VOID)
enum _CONFIGURATION_TYPE CONFIGURATION_TYPE
ULONG BytesPerSector
Number of bytes per sector.
ULONG Cylinders
Number of cylinders on the disk.
ULONGLONG Sectors
Total number of disk sectors/LBA blocks.
ULONG SectorsPerTrack
Number of sectors per track.
ULONG Heads
Number of heads on the disk.
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_opt_ PCUNICODE_STRING DeviceName
_In_ ULONG _In_ ULONG PartitionNumber