20#if defined(_M_IX86) || defined(_M_AMD64)
52 if (!BootPath || !*BootPath)
58 if (ArgValue && *ArgValue)
65 if (ArgValue && *ArgValue)
90 UiMessageBox(
"Boot sector file not specified for selected OS!");
102#if defined(SARCH_PC98)
105 LoadAddress = 0x7C00;
147 if (BootPath && *BootPath)
178#if defined(SARCH_PC98)
181 LoadAddress = 0x7C00;
193 UiMessageBox(
"Unable to load partition's boot sector.");
227 if (!BootPath || !*BootPath)
233 if (!ArgValue || !*ArgValue)
235 UiMessageBox(
"Boot drive not specified for selected OS!");
243 if (ArgValue && *ArgValue)
265 if (BootPath && *BootPath)
271 if (
strstr(BootPath,
")partition("))
281 if (!ArgValue || !*ArgValue)
283 UiMessageBox(
"Boot drive not specified for selected OS!");
302 UCHAR DriveNumber = 0;
307 if (!ArgValue || !*ArgValue)
309 if (
_stricmp(ArgValue,
"Drive") == 0)
311 else if (
_stricmp(ArgValue,
"Partition") == 0)
313 else if (
_stricmp(ArgValue,
"BootSector") == 0)
char * strstr(char *String1, char *String2)
PCHAR GetArgumentValue(IN ULONG Argc, IN PCHAR Argv[], IN PCHAR ArgumentName)
BOOLEAN DissectArcPath(IN PCSTR ArcPath, OUT PCSTR *Path OPTIONAL, OUT PUCHAR DriveNumber, OUT PULONG PartitionNumber)
VOID ConstructArcPath(PCHAR ArcPath, PCHAR SystemFolder, UCHAR Disk, ULONG Partition)
#define DriveMapGetBiosDriveNumber(DeviceName)
ARC_STATUS ArcClose(ULONG FileId)
ARC_STATUS ArcOpen(CHAR *Path, OPENMODE OpenMode, ULONG *FileId)
ARC_STATUS FsOpenFile(IN PCSTR FileName, IN PCSTR DefaultPath OPTIONAL, IN OPENMODE OpenMode, OUT PULONG FileId)
ARC_STATUS ArcRead(ULONG FileId, VOID *Buffer, ULONG N, ULONG *Count)
struct _FileName FileName
_Check_return_ int __cdecl atoi(_In_z_ const char *_Str)
ULONG Pc98GetBootSectorLoadAddress(IN UCHAR DriveNumber)
VOID __cdecl ChainLoadBiosBootSectorCode(IN UCHAR BootDrive OPTIONAL, IN ULONG BootPartition OPTIONAL)
_Check_return_ _CRTIMP _CONST_RETURN char *__cdecl strrchr(_In_z_ const char *_Str, _In_ int _Ch)
PULONG MinorVersion OPTIONAL
VOID UiShowMessageBoxesInArgv(IN ULONG Argc, IN PCHAR Argv[])
VOID UiUnInitialize(PCSTR BootText)
VOID UiMessageBox(PCSTR Format,...)
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_opt_ PULONG_PTR BytesRead
_In_ ULONG _In_ ULONG PartitionNumber