16#define PARTITION_EISA 0x12
17#define PARTITION_HIBERNATION 0x84
18#define PARTITION_DIAGNOSTIC 0xA0
19#define PARTITION_DELL 0xDE
20#define PARTITION_IBM 0xFE
22#define IsOEMPartition(PartitionType) \
23 ( ((PartitionType) == PARTITION_EISA) || \
24 ((PartitionType) == PARTITION_HIBERNATION) || \
25 ((PartitionType) == PARTITION_DIAGNOSTIC) || \
26 ((PartitionType) == PARTITION_DELL) || \
27 ((PartitionType) == PARTITION_IBM) )
167#define PARTITION_TBL_SIZE 4
169#define PARTITION_MAGIC 0xAA55
172#define EFI_PMBR_OSTYPE_EFI 0xEE
227#define GetPartEntryOffsetInBytes(PartEntry) \
228 ((PartEntry)->StartSector.QuadPart * (PartEntry)->DiskEntry->BytesPerSector)
230#define GetPartEntrySizeInBytes(PartEntry) \
231 ((PartEntry)->SectorCount.QuadPart * (PartEntry)->DiskEntry->BytesPerSector)
233#define GetDiskSizeInBytes(DiskEntry) \
234 ((DiskEntry)->SectorCount.QuadPart * (DiskEntry)->BytesPerSector)
_In_ PFCB _In_ LONGLONG StartingOffset
enum _FORMATSTATE FORMATSTATE
static const WCHAR Signature[]
enum _ERROR_NUMBER ERROR_NUMBER
ERROR_NUMBER ExtendedPartitionCreationChecks(_In_ PPARTENTRY PartEntry)
VOID DestroyPartitionList(IN PPARTLIST List)
struct _PARTITION * PPARTITION
ERROR_NUMBER PartitionCreationChecks(_In_ PPARTENTRY PartEntry)
BOOLEAN SetMountedDeviceValues(IN PPARTLIST List)
ULONGLONG AlignUp(IN ULONGLONG Value, IN ULONG Alignment)
enum _FORMATSTATE FORMATSTATE
BOOLEAN WritePartitionsToDisk(IN PPARTLIST List)
ULONGLONG RoundingDivide(IN ULONGLONG Dividend, IN ULONGLONG Divisor)
VOID SetMBRPartitionType(IN PPARTENTRY PartEntry, IN UCHAR PartitionType)
enum _FORMATSTATE * PFORMATSTATE
struct BIOS_DISK * PBIOS_DISK
struct _PARTLIST * PPARTLIST
struct _PARTITION_SECTOR * PPARTITION_SECTOR
BOOLEAN CreatePartition(_In_ PPARTLIST List, _Inout_ PPARTENTRY PartEntry, _In_opt_ ULONGLONG SizeBytes, _In_opt_ ULONG_PTR PartitionInfo)
PPARTENTRY GetPrevPartition(IN PPARTLIST List, IN PPARTENTRY CurrentPart OPTIONAL)
ULONGLONG AlignDown(IN ULONGLONG Value, IN ULONG Alignment)
BOOLEAN IsSuperFloppy(IN PDISKENTRY DiskEntry)
BOOLEAN DeletePartition(_In_ PPARTLIST List, _In_ PPARTENTRY PartEntry, _Out_opt_ PPARTENTRY *FreeRegion)
PDISKENTRY GetDiskByBiosNumber(_In_ PPARTLIST List, _In_ ULONG HwDiskNumber)
struct _PARTENTRY * PPARTENTRY
struct _BIOSDISKENTRY * PBIOSDISKENTRY
PDISKENTRY GetDiskBySCSI(_In_ PPARTLIST List, _In_ USHORT Port, _In_ USHORT Bus, _In_ USHORT Id)
PDISKENTRY GetDiskBySignature(_In_ PPARTLIST List, _In_ ULONG Signature)
PPARTLIST CreatePartitionList(VOID)
PPARTENTRY GetPartition(_In_ PDISKENTRY DiskEntry, _In_ ULONG PartitionNumber)
PPARTENTRY GetNextPartition(IN PPARTLIST List, IN PPARTENTRY CurrentPart OPTIONAL)
BOOLEAN IsPartitionActive(IN PPARTENTRY PartEntry)
struct _PARTITION_SECTOR PARTITION_SECTOR
BOOLEAN SetActivePartition(IN PPARTLIST List, IN PPARTENTRY PartEntry, IN PPARTENTRY OldActivePart OPTIONAL)
struct _DISKENTRY DISKENTRY
struct _PARTLIST PARTLIST
PPARTENTRY SelectPartition(_In_ PPARTLIST List, _In_ ULONG DiskNumber, _In_ ULONG PartitionNumber)
PDISKENTRY GetDiskByNumber(_In_ PPARTLIST List, _In_ ULONG DiskNumber)
BOOLEAN SetMountedDeviceValue(IN WCHAR Letter, IN ULONG Signature, IN LARGE_INTEGER StartingOffset)
PPARTENTRY FindSupportedSystemPartition(IN PPARTLIST List, IN BOOLEAN ForceSelect, IN PDISKENTRY AlternativeDisk OPTIONAL, IN PPARTENTRY AlternativePart OPTIONAL)
NTSTATUS DismountVolume(IN PPARTENTRY PartEntry)
struct _BIOSDISKENTRY BIOSDISKENTRY
struct _DISKENTRY * PDISKENTRY
struct _PARTENTRY PARTENTRY
struct _PARTITION PARTITION
NTSTATUS WritePartitions(IN PDISKENTRY DiskEntry)
enum _PARTITION_STYLE PARTITION_STYLE
enum _MEDIA_TYPE MEDIA_TYPE
PULONG MinorVersion OPTIONAL
CM_DISK_GEOMETRY_DEVICE_DATA DiskGeometry
CM_INT13_DRIVE_PARAMETER Int13DiskData
ULARGE_INTEGER SectorCount
UNICODE_STRING DriverName
PPARTENTRY ExtendedPartition
LIST_ENTRY LogicalPartListHead
struct _PARTLIST * PartList
PARTITION_STYLE DiskStyle
LIST_ENTRY PrimaryPartListHead
PDRIVE_LAYOUT_INFORMATION LayoutBuffer
ULARGE_INTEGER SectorCount
WCHAR FileSystem[MAX_PATH+1]
struct _DISKENTRY * DiskEntry
ULONG OnDiskPartitionNumber
ULARGE_INTEGER StartSector
PARTITION Partition[PARTITION_TBL_SIZE]
unsigned char PartitionType
unsigned char EndingSector
unsigned char StartingHead
unsigned int StartingBlock
unsigned char EndingCylinder
unsigned char StartingSector
unsigned char StartingCylinder
PPARTENTRY SystemPartition
LIST_ENTRY BiosDiskListHead
#define PARTITION_TBL_SIZE
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
_Must_inspect_result_ _In_ WDFCMRESLIST List
_Reserved_ PVOID Reserved
_In_ ULONG _In_ struct _SET_PARTITION_INFORMATION_EX * PartitionInfo
_In_ ULONG _In_ ULONG PartitionNumber
_In_ LARGE_INTEGER Divisor