* PROGRAMMER: Eric Kohl
*/
-#include "precomp.h"
-#include <ntdll/rtl.h>
-
-#include "usetup.h"
-#include "inicache.h"
-#include "filesup.h"
-#include "bootsup.h"
+#include <usetup.h>
#define NDEBUG
#include <debug.h>
L"DefaultOS",
L"ReactOS");
-#if 0
/* Timeout=10 */
IniCacheInsertKey(IniSection,
NULL,
INSERT_LAST,
L"TimeOut",
L"10");
-#endif
/* Create "Display" section */
IniSection = IniCacheAppendSection(IniCache,
INSERT_LAST,
L"SelectedColor",
L"Gray");
-
- /* TimeOut=5 */
- IniCacheInsertKey(IniSection,
- NULL,
- INSERT_LAST,
- L"TimeOut",
- L"5");
}
UNICODE_STRING Name;
HANDLE FileHandle;
NTSTATUS Status;
- PUCHAR OrigBootSector;
- PUCHAR NewBootSector;
+ PPARTITION_SECTOR OrigBootSector;
+ PPARTITION_SECTOR NewBootSector;
/* Allocate buffer for original bootsector */
- OrigBootSector = (PUCHAR)RtlAllocateHeap(ProcessHeap,
- 0,
- SECTORSIZE);
+ OrigBootSector = (PPARTITION_SECTOR)RtlAllocateHeap(ProcessHeap,
+ 0,
+ sizeof(PARTITION_SECTOR));
if (OrigBootSector == NULL)
return(STATUS_INSUFFICIENT_RESOURCES);
/* Allocate buffer for new bootsector */
- NewBootSector = (PUCHAR)RtlAllocateHeap(ProcessHeap,
- 0,
- SECTORSIZE);
+ NewBootSector = (PPARTITION_SECTOR)RtlAllocateHeap(ProcessHeap,
+ 0,
+ sizeof(PARTITION_SECTOR));
if (NewBootSector == NULL)
{
RtlFreeHeap(ProcessHeap, 0, OrigBootSector);
NULL,
&IoStatusBlock,
NewBootSector,
- SECTORSIZE,
+ sizeof(PARTITION_SECTOR),
NULL,
NULL);
NtClose(FileHandle);
}
/* Copy partition table from old MBR to new */
- RtlCopyMemory ((NewBootSector + 446),
- (OrigBootSector + 446),
- 4*16 /* Length of partition table */);
+ RtlCopyMemory (&NewBootSector->Signature,
+ &OrigBootSector->Signature,
+ sizeof(PARTITION_SECTOR) - offsetof(PARTITION_SECTOR, Signature) /* Length of partition table */);
/* Free the original boot sector */
RtlFreeHeap(ProcessHeap, 0, OrigBootSector);