60 ExBiosParametersBlock->MftLocation =
LAYOUT.MftLcn;
61 ExBiosParametersBlock->MftMirrLocation =
LAYOUT.MftMirrLcn;
63 ExBiosParametersBlock->ClustersPerMftRecord =
LAYOUT.ClustersPerMftRecord;
64 ExBiosParametersBlock->ClustersPerIndexRecord =
LAYOUT.ClustersPerIndexRecord;
66 ExBiosParametersBlock->SerialNumber =
LAYOUT.SerialNumber;
103 DPRINT1(
"Backup boot sector write failed (Status %lx)\n",
Status);
156 DPRINT1(
"BootSector write failed. NtWriteFile() failed (Status %lx)\n",
Status);
PVOID NTAPI RtlAllocateHeap(IN PVOID HeapHandle, IN ULONG Flags, IN SIZE_T Size)
static VOID FillExBiosParametersBlock(OUT PEXTENDED_BIOS_PARAMETERS_BLOCK ExBiosParametersBlock)
static VOID FillBiosParametersBlock(OUT PBIOS_PARAMETERS_BLOCK BiosParametersBlock)
static NTSTATUS WriteBackupBootSector(IN PBOOT_SECTOR BootSector)
static VOID FillJumpInstruction(OUT PBOOT_SECTOR BootSector)
static VOID FillOemId(OUT PBOOT_SECTOR BootSector)
NTSTATUS WriteBootSector(VOID)
_In_ PIO_STATUS_BLOCK IoStatusBlock
#define NT_SUCCESS(StatCode)
struct _BOOT_SECTOR * PBOOT_SECTOR
#define BYTES_PER_CLUSTER
#define SECTORS_PER_TRACK
#define SECTORS_PER_CLUSTER
__kernel_entry _Inout_ _Inout_ PSIZE_T RegionSize
NTSYSAPI NTSTATUS NTAPI NtWriteFile(IN HANDLE hFile, IN HANDLE hEvent OPTIONAL, IN PIO_APC_ROUTINE IoApcRoutine OPTIONAL, IN PVOID IoApcContext OPTIONAL, OUT PIO_STATUS_BLOCK pIoStatusBlock, IN PVOID WriteBuffer, IN ULONG WriteBufferLength, IN PLARGE_INTEGER FileOffset OPTIONAL, IN PULONG LockOperationKey OPTIONAL)
_In_ ULONG _In_ ULONG Offset
#define RtlCopyMemory(Destination, Source, Length)
#define RtlZeroMemory(Destination, Length)
#define STATUS_INSUFFICIENT_RESOURCES
struct _BootSector BootSector