Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
typedef ULONG HPARTITION;
UINT _far InitializePartitionList( VOID );
HPARTITION _far OpenPartition( IN UINT PartitionId );
VOID _far ClosePartition( IN HPARTITION PartitionHandle );
BOOL _far GetPartitionInfoById( IN UINT PartitionId, IN UINT Reserved, OUT FPUINT DiskId, OUT FPBYTE SystemId, OUT FPULONG StartSector, OUT FPULONG SectorCount );
BOOL _far GetPartitionInfoByHandle( IN HPARTITION PartitionHandle, OUT FPUINT DiskId, OUT FPBYTE SystemId, OUT FPULONG StartSector, OUT FPULONG SectorCount );
BOOL _far ReadPartition( IN HPARTITION PartitionHandle, IN ULONG StartSector, IN BYTE SectorCount, OUT FPVOID Buffer );
BOOL _far WritePartition( IN HPARTITION PartitionHandle, IN ULONG StartSector, IN BYTE SectorCount, IN FPVOID Buffer );
//
// Structure for partition table entry
//
typedef struct _PARTITION_TABLE_ENTRY{ BYTE Active; BYTE StartH; BYTE StartS; BYTE StartC; BYTE SysId; BYTE EndH; BYTE EndS; BYTE EndC; ULONG Start; ULONG Count; } PARTITION_TABLE_ENTRY, _far * FPPARTITION_TABLE_ENTRY;
//
// Define structure for an on-disk master boot record.
//
#define NUM_PARTITION_TABLE_ENTRIES 4
#define BOOT_RECORD_SIGNATURE (0xaa55)
typedef struct _MBR {
UCHAR BootCode[440];
UCHAR NTFTSignature[4];
UCHAR Filler[2];
PARTITION_TABLE_ENTRY PartitionTable[NUM_PARTITION_TABLE_ENTRIES];
UINT AA55Signature;
} MBR, _far *FPMBR;
|