83#define PARTITION_NEW_AUTOCREATE 0x80
111 DPRINT(
"mingliu.ttc found\n");
116 DPRINT(
"msgothic.ttc found\n");
121 DPRINT(
"msmincho.ttc found\n");
126 DPRINT(
"mssong.ttf found\n");
134 DPRINT(
"simsun.ttc found\n");
139 DPRINT(
"gulim.ttc found\n");
144 DPRINT(
"batang.ttc found\n");
200 coPos.
X = xLeft +
Width - 1;
209 for (coPos.
Y = yTop + 1; coPos.
Y < yTop +
Height - 1; coPos.
Y++)
225 coPos.
X = xLeft +
Width - 1;
252 coPos.
X = xLeft +
Width - 1;
321 Width = MaxLength + 4;
333 for (coPos.
Y = yTop; coPos.
Y < yTop +
Height; coPos.
Y++)
397 coPos.
X = xLeft +
Width - 1;
488 if (newLayout == LayoutId)
581 DPRINT1(
"The user-mode PnP manager could not initialize, expect unavailable devices!\n");
585 DPRINT1(
"WaitNoPendingInstallEvents() failed to wait!\n");
956 DPRINT1(
"Failed to get a list of NTOS installations; continue installation...\n");
1050 DPRINT1(
"Selected installation for repair: \"%S\" ; DiskNumber = %d , PartitionNumber = %d\n",
1160 return SCSI_CONTROLLER_PAGE;
1192 return OEM_DRIVER_PAGE;
1294 else if (
Line == 16)
1308 else if (
Line == 16)
1327 else if (
Line == 12)
1329 else if (
Line == 13)
1331 else if (
Line == 14)
1333 else if (
Line == 16)
1519 DPRINT1(
"Partition is too small (size: %I64u MB), required disk space is %lu MB\n",
1582 DPRINT1(
"RepairUpdateFlag == TRUE, SelectPartition() returned FALSE, assert!\n");
1727 PopupError(
"The disk you have selected for installing ReactOS\n"
1728 "is not visible by the firmware of your computer,\n"
1729 "and so may not be bootable.\n"
1730 "Press ENTER to continue nonetheless.",
1815 L"\\Device\\Harddisk%lu\\Partition%lu\\",
1846#define PARTITION_SIZE_INPUT_FIELD_LENGTH 9
1848#define PARTITION_MAXSIZE (pow(10, (PARTITION_SIZE_INPUT_FIELD_LENGTH - 1)) - 1)
2010 if ((ch >=
L'0') && (ch <=
L'9'))
2054 CHAR LineBuffer[100];
2111 if ((PartSize < 1) || (PartSize > MaxSize))
2120 if (PartSize == MaxSize)
2121 PartSize = MaxPartSize;
2124 DPRINT(
"Partition size: %I64u bytes\n", PartSize);
2126 ASSERT(PartSize <= MaxPartSize);
2204 CHAR LineBuffer[100];
2288 CHAR LineBuffer[100];
2290 DPRINT(
"SelectFileSystemPage()\n");
2318 DPRINT1(
"We are using a different system partition!!!!\n");
2378 PopupError(
"The ReactOS Setup could not find a supported system partition\n"
2379 "on your system or could not create a new one. Without such partition\n"
2380 "the Setup program cannot install ReactOS.\n"
2381 "Press ENTER to return to the partition selection list.",
2414 DPRINT(
"WritePartitionsToDisk() failed\n");
2470 DPRINT1(
"FormatState: Start --> FormatSystemPartition\n");
2488 DPRINT1(
"FormatState: Start --> FormatInstallPartition\n");
2499 DPRINT1(
"FormatState: FormatSystemPartition --> FormatInstallPartition\n");
2514 DPRINT1(
"FormatState: FormatInstallPartition --> FormatOtherPartition\n");
2516 DPRINT1(
"FormatState: FormatOtherPartition --> FormatOtherPartition\n");
2523 DPRINT1(
"FormatState: FormatInstallPartition --> FormatDone\n");
2525 DPRINT1(
"FormatState: FormatOtherPartition --> FormatDone\n");
2534 DPRINT1(
"FormatState: FormatDone\n");
2555 PartEntry->
New &= ~PARTITION_NEW_AUTOCREATE;
2559 else if (PartEntry->
New)
2606 DefaultFs =
L"BTRFS";
2736 DPRINT(
"FormatPartitionPage()\n");
2812 "Setup is currently unable to format a partition in %S.\n"
2814 " \x07 Press ENTER to continue Setup.\n"
2815 " \x07 Press F3 to quit Setup.",
2850 L"\\Device\\Harddisk%lu\\Partition%lu",
2903 DPRINT1(
"CheckFileSystemPage -- PartitionType: 0x%02X ; FileSystem: %S\n",
2927 "Setup is currently unable to check a partition formatted in %S.\n"
2929 " \x07 Press ENTER to continue Setup.\n"
2930 " \x07 Press F3 to quit Setup.",
2961 "ChkDsk detected some disk errors.\n(Status 0x%08lx).\n",
2993 if (InstallDir[
Length - 1] ==
L'\\')
3006 if (InstallDir[
i] ==
L'\\' &&
i > 0)
3008 if (InstallDir[
i - 1] ==
L'.')
3013 if (InstallDir[
Length - 1] ==
L'.')
3053 wcscpy(InstallDir,
L"\\ReactOS");
3067 DPRINT1(
"InitDestinationPaths() failed: Status 0x%lx\n",
Status);
3115 &InstallDir[
Pos + 1],
3171 DPRINT1(
"InitDestinationPaths() failed: Status 0x%lx\n",
Status);
3217 InstallDir[
Pos] =
c;
3329 PCWSTR SrcFileName, DstFileName;
3355 if (DstFileName) ++DstFileName;
3356 else DstFileName = FilePathInfo->
Target;
3367 if (SrcFileName) ++SrcFileName;
3368 else SrcFileName = FilePathInfo->
Source;
3371 if (DstFileName) ++DstFileName;
3372 else DstFileName = FilePathInfo->
Target;
3374 if (!
wcsicmp(SrcFileName, DstFileName))
3380 SrcFileName, DstFileName);
3391 if (DstFileName) ++DstFileName;
3392 else DstFileName = FilePathInfo->
Target;
3398 DoWatchDestFileName(DstFileName);
3410 DPRINT1(
"An error happened while trying to copy file '%S' (error 0x%08lx), skipping it...\n",
3423 DPRINT1(
"CHECKPOINT:HALF_COPIED\n");
3470 MemBarWidth = (
xScreen - 26) / 5;
3471 MemBarWidth -= MemBarWidth % 2;
3486 (
xScreen / 2) + (MemBarWidth / 2),
3488 (
xScreen / 2)- (MemBarWidth / 2),
3525 static const UINT StringIDs[] =
3723 else if (
Line == 13)
3729 else if (
Line == 14)
3735 else if (
Line == 15)
3825 L"\\Device\\Harddisk%d\\Partition0",
3829 DestinationDevicePathBuffer);
3832 DPRINT1(
"InstallMbrBootCodeToDisk() failed: Status 0x%lx\n",
Status);
3877 L"\\Device\\Harddisk%lu\\Partition%lu\\",
3939 if (
Bar->StepCount == 0)
3945 Bar->Progress =
Bar->StepCount -
Bar->CurrentStep;
3949 if (
Bar->ProgressFormatText &&
3950 (AlwaysUpdate || (
Bar->Progress != OldProgress)))
3953 Bar->ProgressFormatText,
Bar->Progress /
max(1,
Bar->Width) + 1);
3985 LONG TimerValue, OldTimerValue;
4008 BarWidth =
max(1, ProgressBar->
Width);
4009 TimerValue = TimeOut * BarWidth;
4015 TimerDiv = 1000 / BarWidth;
4016 TimerDiv =
max(1, TimerDiv);
4017 OldTimerValue = TimerValue;
4028 if (TimeElapsed >= TimerDiv)
4031 TimeElapsed /= TimerDiv;
4034 if (TimeElapsed <= TimerValue)
4035 TimerValue -= TimeElapsed;
4039 RefreshProgress =
TRUE;
4042 if (RefreshProgress)
4045 RefreshProgress =
FALSE;
4049 if (TimerValue <= 0)
4062 if (TimeElapsed < TimerDiv)
4065 Timeout.QuadPart = (TimerDiv - TimeElapsed) * -10000LL;
4081 DPRINT1(
"NtWaitForSingleObject() failed, Status 0x%08lx\n",
Status);
4088 if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D)
4207 DPRINT1(
"NtInitializeRegistry() failed (Status 0x%08lx)\n",
Status);
4214 DPRINT1(
"The user-mode PnP manager could not initialize (Status 0x%08lx), expect unavailable devices!\n",
Status);
4269 case SCSI_CONTROLLER_PAGE:
4270 Page = ScsiControllerPage(&Ir);
4273 case OEM_DRIVER_PAGE:
4274 Page = OemDriverPage(&Ir);
ACPI_SIZE strlen(const char *String)
char * strcpy(char *DstString, const char *SrcString)
char * strchr(const char *String, int ch)
BOOLEAN DoFileCopy(IN OUT PUSETUP_DATA pSetupData, IN PSP_FILE_CALLBACK_W MsgHandler, IN PVOID Context OPTIONAL)
BOOLEAN PrepareFileCopy(IN OUT PUSETUP_DATA pSetupData, IN PFILE_COPY_STATUS_ROUTINE StatusRoutine OPTIONAL)
PGENERIC_LIST CreateKeyboardDriverList(IN HINF InfFile)
PGENERIC_LIST CreateComputerTypeList(IN HINF InfFile)
ULONG GetDefaultLanguageIndex(VOID)
PGENERIC_LIST CreateDisplayDriverList(IN HINF InfFile)
PGENERIC_LIST CreateKeyboardLayoutList(IN HINF InfFile, IN PCWSTR LanguageId, OUT PWSTR DefaultKBLayout)
PGENERIC_LIST CreateLanguageList(IN HINF InfFile, OUT PWSTR DefaultLanguage)
struct _GENENTRY * PGENENTRY
NTSTATUS DoChkdsk(IN PPARTENTRY PartEntry)
BOOL WINAPI WriteConsoleOutputCharacterA(HANDLE hConsoleOutput, IN LPCSTR lpCharacter, IN DWORD nLength, IN COORD dwWriteCoord, OUT LPDWORD lpNumberOfCharsWritten)
BOOL WINAPI FillConsoleOutputCharacterA(IN HANDLE hConsoleOutput, IN CHAR cCharacter, IN DWORD nLength, IN COORD dwWriteCoord, OUT LPDWORD lpNumberOfCharsWritten)
BOOL WINAPI FreeConsole(VOID)
BOOL WINAPI FillConsoleOutputAttribute(IN HANDLE hConsoleOutput, IN WORD wAttribute, IN DWORD nLength, IN COORD dwWriteCoord, OUT LPDWORD lpNumberOfAttrsWritten)
NTSTATUS InitializeUserModePnpManager(IN HINF *phSetupInf)
VOID TerminateUserModePnpManager(VOID)
NTSTATUS WaitNoPendingInstallEvents(IN PLARGE_INTEGER Timeout OPTIONAL)
BOOLEAN EnableUserModePnpManager(VOID)
VOID ProgressSetStep(IN PPROGRESSBAR Bar, IN ULONG Step)
VOID ProgressNextStep(IN PPROGRESSBAR Bar)
PPROGRESSBAR CreateProgressBarEx(IN SHORT Left, IN SHORT Top, IN SHORT Right, IN SHORT Bottom, IN SHORT TextTop, IN SHORT TextRight, IN BOOLEAN DoubleEdge, IN SHORT ProgressColour, IN ULONG StepCount, IN PCSTR DescriptionText OPTIONAL, IN PCSTR ProgressFormatText OPTIONAL, IN PUPDATE_PROGRESS UpdateProgressProc OPTIONAL)
VOID ProgressSetStepCount(IN PPROGRESSBAR Bar, IN ULONG StepCount)
PPROGRESSBAR CreateProgressBar(IN SHORT Left, IN SHORT Top, IN SHORT Right, IN SHORT Bottom, IN SHORT TextTop, IN SHORT TextRight, IN BOOLEAN DoubleEdge, IN PCSTR DescriptionText OPTIONAL)
VOID DestroyProgressBar(IN OUT PPROGRESSBAR Bar)
static LPHIST_ENTRY Bottom
NTSTATUS InstallVBRToPartition(IN PUNICODE_STRING SystemRootPath, IN PUNICODE_STRING SourceRootPath, IN PUNICODE_STRING DestinationArcPath, IN PCWSTR FileSystemName)
NTSTATUS InstallFatBootcodeToFloppy(IN PUNICODE_STRING SourceRootPath, IN PUNICODE_STRING DestinationArcPath)
NTSTATUS InstallMbrBootCodeToDisk(IN PUNICODE_STRING SystemRootPath, IN PUNICODE_STRING SourceRootPath, IN PCWSTR DestinationDevicePathBuffer)
_In_ PSCSI_REQUEST_BLOCK _Out_ NTSTATUS _Inout_ BOOLEAN * Retry
VOID RecoveryConsole(VOID)
NTSYSAPI BOOLEAN NTAPI RtlCreateUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
VOID CONSOLE_SetInputTextXY(IN SHORT x, IN SHORT y, IN SHORT len, IN LPCWSTR Text)
VOID CONSOLE_InvertTextXY(IN SHORT x, IN SHORT y, IN SHORT col, IN SHORT row)
VOID CONSOLE_SetCursorXY(IN SHORT x, IN SHORT y)
VOID CONSOLE_NormalTextXY(IN SHORT x, IN SHORT y, IN SHORT col, IN SHORT row)
VOID __cdecl CONSOLE_SetStatusText(IN LPCSTR fmt,...)
VOID CONSOLE_SetTextXY(IN SHORT x, IN SHORT y, IN LPCSTR Text)
VOID CONSOLE_ConInKey(OUT PINPUT_RECORD Buffer)
VOID __cdecl CONSOLE_PrintTextXY(IN SHORT x, IN SHORT y, IN LPCSTR fmt,...)
VOID CONSOLE_ClearScreen(VOID)
BOOLEAN CONSOLE_Init(VOID)
VOID CONSOLE_SetStatusTextV(IN LPCSTR fmt, IN va_list args)
BOOLEAN CONSOLE_ConInKeyPeek(OUT PINPUT_RECORD Buffer)
VOID CONSOLE_SetCursorType(IN BOOL bInsert, IN BOOL bVisible)
#define TEXT_TYPE_REGULAR
#define NT_SUCCESS(StatCode)
VOID DrawPartitionList(IN HWND hWndList, IN PPARTLIST List)
#define IsListEmpty(ListHead)
@ ERROR_DRIVE_INFORMATION
@ ERROR_INSUFFICIENT_PARTITION_SIZE
@ ERROR_FORMATTING_PARTITION
#define SPFILENOTIFY_ENDDELETE
struct _FILEPATHS_W * PFILEPATHS_W
#define SPFILENOTIFY_STARTDELETE
#define SPFILENOTIFY_STARTSUBQUEUE
#define SPFILENOTIFY_ENDCOPY
#define SPFILENOTIFY_STARTCOPY
#define SPFILENOTIFY_COPYERROR
#define SPFILENOTIFY_STARTRENAME
#define SPFILENOTIFY_ENDRENAME
VOID ScrollUpFileSystemList(IN PFILE_SYSTEM_LIST List)
VOID DrawFileSystemList(IN PFILE_SYSTEM_LIST List)
VOID ScrollDownFileSystemList(IN PFILE_SYSTEM_LIST List)
PFILE_SYSTEM_LIST CreateFileSystemList(IN SHORT Left, IN SHORT Top, IN BOOLEAN ForceFormat, IN PCWSTR SelectFileSystem)
VOID DestroyFileSystemList(IN PFILE_SYSTEM_LIST List)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
NTSTATUS NTAPI NtRaiseHardError(IN NTSTATUS ErrorStatus, IN ULONG NumberOfParameters, IN ULONG UnicodeStringParameterMask, IN PULONG_PTR Parameters, IN ULONG ValidResponseOptions, OUT PULONG Response)
int __cdecl vsprintf(char *_Dest, const char *_Format, va_list _Args)
_Check_return_ long __cdecl wcstol(_In_z_ const wchar_t *_Str, _Out_opt_ _Deref_post_z_ wchar_t **_EndPtr, _In_ int _Radix)
_Check_return_ unsigned long __cdecl wcstoul(_In_z_ const wchar_t *_Str, _Out_opt_ _Deref_post_z_ wchar_t **_EndPtr, _In_ int _Radix)
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
VOID InfSetHeap(PVOID Heap)
KLID MUIDefaultKeyboardLayout(IN PCWSTR LanguageId)
VOID SetCurrentListEntry(IN PGENERIC_LIST List, IN PGENERIC_LIST_ENTRY Entry)
PGENERIC_LIST_ENTRY GetFirstListEntry(IN PGENERIC_LIST List)
VOID DestroyGenericList(IN OUT PGENERIC_LIST List, IN BOOLEAN FreeData)
PGENERIC_LIST_ENTRY GetCurrentListEntry(IN PGENERIC_LIST List)
ULONG GetNumberOfListEntries(IN PGENERIC_LIST List)
PVOID GetListEntryData(IN PGENERIC_LIST_ENTRY Entry)
PGENERIC_LIST_ENTRY GetNextListEntry(IN PGENERIC_LIST_ENTRY Entry)
#define GetPartEntrySizeInBytes(PartEntry)
#define SystemPerformanceInformation
#define memmove(s1, s2, n)
#define sprintf(buf, format,...)
#define SE_SHUTDOWN_PRIVILEGE
static PLARGE_INTEGER Time
unsigned __int3264 UINT_PTR
#define CM_BOOT_FLAG_SETUP
NTSYSAPI PRTL_USER_PROCESS_PARAMETERS NTAPI RtlNormalizeProcessParams(_In_ PRTL_USER_PROCESS_PARAMETERS ProcessParameters)
NTSYSAPI NTSTATUS NTAPI RtlAdjustPrivilege(_In_ ULONG Privilege, _In_ BOOLEAN NewValue, _In_ BOOLEAN ForThread, _Out_ PBOOLEAN OldValue)
NTSTATUS NTAPI NtDisplayString(PUNICODE_STRING String)
NTSYSAPI NTSTATUS NTAPI RtlAnsiStringToUnicodeString(PUNICODE_STRING DestinationString, PANSI_STRING SourceString, BOOLEAN AllocateDestinationString)
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
NTSTATUS NTAPI NtTerminateProcess(HANDLE ProcessHandle, LONG ExitStatus)
#define NtCurrentProcess()
NTSTATUS NTAPI NtDelayExecution(IN BOOLEAN Alertable, IN PLARGE_INTEGER DelayInterval)
NTSYSAPI VOID NTAPI RtlFreeUnicodeString(PUNICODE_STRING UnicodeString)
NTSYSAPI BOOLEAN NTAPI RtlPrefixUnicodeString(IN PUNICODE_STRING String1, IN PUNICODE_STRING String2, IN BOOLEAN CaseInSensitive)
NTSYSAPI NTSTATUS NTAPI NtWaitForSingleObject(IN HANDLE hObject, IN BOOLEAN bAlertable, IN PLARGE_INTEGER Timeout)
NTSYSAPI VOID NTAPI RtlInitAnsiString(PANSI_STRING DestinationString, PCSZ SourceString)
NTSTATUS NTAPI NtInitializeRegistry(IN USHORT Flag)
#define IsContainerPartition(PartitionType)
#define IsRecognizedPartition(PartitionType)
_In_ ULONG _In_ ULONG _In_ ULONG Length
NTSTATUS NTAPI NtShutdownSystem(IN SHUTDOWN_ACTION Action)
NTSTATUS NTAPI NtQuerySystemTime(OUT PLARGE_INTEGER SystemTime)
_In_ PVOID _Out_opt_ BOOLEAN _Out_opt_ PPFN_NUMBER Page
#define STATUS_NOT_SUPPORTED
#define STATUS_PARTITION_FAILURE
#define STATUS_SYSTEM_PROCESS_TERMINATED
#define STATUS_APP_INIT_FAILURE
NTSTRSAFEVAPI RtlStringCchPrintfA(_Out_writes_(cchDest) _Always_(_Post_z_) NTSTRSAFE_PSTR pszDest, _In_ size_t cchDest, _In_ _Printf_format_string_ NTSTRSAFE_PCSTR pszFormat,...)
NTSTRSAFEVAPI RtlStringCbPrintfA(_Out_writes_bytes_(cbDest) _Always_(_Post_z_) NTSTRSAFE_PSTR pszDest, _In_ size_t cbDest, _In_ _Printf_format_string_ NTSTRSAFE_PCSTR pszFormat,...)
NTSTRSAFEVAPI RtlStringCchPrintfW(_Out_writes_(cchDest) _Always_(_Post_z_) NTSTRSAFE_PWSTR pszDest, _In_ size_t cchDest, _In_ _Printf_format_string_ NTSTRSAFE_PCWSTR pszFormat,...)
PGENERIC_LIST CreateNTOSInstallationsList(IN PPARTLIST PartList)
struct _NTOS_INSTALLATION * PNTOS_INSTALLATION
_CRTIMP wchar_t *__cdecl wcscpy(_Out_writes_z_(_String_length_(_Source)+1) wchar_t *_Dest, _In_z_ const wchar_t *_Source)
_Check_return_ _CRTIMP int __cdecl wcscmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
ERROR_NUMBER ExtendedPartitionCreationChecks(_In_ PPARTENTRY PartEntry)
VOID DestroyPartitionList(IN PPARTLIST List)
ERROR_NUMBER PartitionCreationChecks(_In_ PPARTENTRY PartEntry)
PPARTENTRY SelectPartition(IN PPARTLIST List, IN ULONG DiskNumber, IN ULONG PartitionNumber)
BOOLEAN WritePartitionsToDisk(IN PPARTLIST List)
ULONGLONG RoundingDivide(IN ULONGLONG Dividend, IN ULONGLONG Divisor)
BOOLEAN GetNextUncheckedPartition(IN PPARTLIST List, OUT PDISKENTRY *pDiskEntry OPTIONAL, OUT PPARTENTRY *pPartEntry)
BOOLEAN DeletePartition(IN PPARTLIST List, IN PPARTENTRY PartEntry, OUT PPARTENTRY *FreeRegion OPTIONAL)
BOOLEAN IsSuperFloppy(IN PDISKENTRY DiskEntry)
PPARTLIST CreatePartitionList(VOID)
BOOLEAN IsPartitionActive(IN PPARTENTRY PartEntry)
BOOLEAN SetActivePartition(IN PPARTLIST List, IN PPARTENTRY PartEntry, IN PPARTENTRY OldActivePart OPTIONAL)
BOOLEAN GetNextUnformattedPartition(IN PPARTLIST List, OUT PDISKENTRY *pDiskEntry OPTIONAL, OUT PPARTENTRY *pPartEntry)
PPARTENTRY FindSupportedSystemPartition(IN PPARTLIST List, IN BOOLEAN ForceSelect, IN PDISKENTRY AlternativeDisk OPTIONAL, IN PPARTENTRY AlternativePart OPTIONAL)
BOOLEAN CreatePartition(_In_ PPARTLIST List, _Inout_ PPARTENTRY PartEntry, _In_opt_ ULONGLONG SizeBytes)
BOOLEAN CreateExtendedPartition(_In_ PPARTLIST List, _Inout_ PPARTENTRY PartEntry, _In_opt_ ULONGLONG SizeBytes)
VOID PartitionDescription(IN PPARTENTRY PartEntry, OUT PSTR strBuffer, IN SIZE_T cchBuffer)
VOID ScrollDownPartitionList(IN PPARTLIST_UI ListUi)
VOID DiskDescription(IN PDISKENTRY DiskEntry, OUT PSTR strBuffer, IN SIZE_T cchBuffer)
VOID ScrollUpPartitionList(IN PPARTLIST_UI ListUi)
VOID InitPartitionListUi(IN OUT PPARTLIST_UI ListUi, IN PPARTLIST List, IN PPARTENTRY CurrentEntry OPTIONAL, IN SHORT Left, IN SHORT Top, IN SHORT Right, IN SHORT Bottom)
#define ERROR_NOT_INSTALLED
VOID FinishSetup(IN OUT PUSETUP_DATA pSetupData)
VOID CheckUnattendedSetup(IN OUT PUSETUP_DATA pSetupData)
ERROR_NUMBER UpdateRegistry(IN OUT PUSETUP_DATA pSetupData, IN BOOLEAN RepairUpdateFlag, IN PPARTLIST PartitionList, IN WCHAR DestinationDriveLetter, IN PCWSTR SelectedLanguageId, IN PREGISTRY_STATUS_ROUTINE StatusRoutine OPTIONAL, IN PFONTSUBSTSETTINGS SubstSettings OPTIONAL)
VOID InstallSetupInfFile(IN OUT PUSETUP_DATA pSetupData)
NTSTATUS InitDestinationPaths(IN OUT PUSETUP_DATA pSetupData, IN PCWSTR InstallationDir, IN PPARTENTRY PartEntry)
ERROR_NUMBER InitializeSetup(IN OUT PUSETUP_DATA pSetupData, IN ULONG InitPhase)
enum _REGISTRY_STATUS REGISTRY_STATUS
#define STATUS_DEVICE_NOT_READY
NTSYSAPI NTSTATUS NTAPI NtQuerySystemInformation(IN SYSTEM_INFORMATION_CLASS SystemInfoClass, OUT PVOID SystemInfoBuffer, IN ULONG SystemInfoBufferSize, OUT PULONG BytesReturned OPTIONAL)
base of all file and directory entries
PPROGRESSBAR MemoryBars[4]
ULONG CompletedOperations
PFILE_SYSTEM_ITEM Selected
union _KEY_EVENT_RECORD::@3286 uChar
WCHAR InstallationName[MAX_PATH]
UNICODE_STRING SystemNtPath
WCHAR FileSystem[MAX_PATH+1]
struct _DISKENTRY * DiskEntry
PPARTENTRY CurrentPartition
PPARTENTRY SystemPartition
PRTL_USER_PROCESS_PARAMETERS ProcessParameters
PGENERIC_LIST DisplayList
LONG DestinationPartitionNumber
PGENERIC_LIST LanguageList
UNICODE_STRING SourcePath
PGENERIC_LIST ComputerList
PSETUP_ERROR_ROUTINE ErrorRoutine
UNICODE_STRING SystemRootPath
UNICODE_STRING SourceRootPath
WCHAR InstallationDirectory[MAX_PATH]
UNICODE_STRING DestinationPath
PGENERIC_LIST KeyboardList
UNICODE_STRING DestinationArcPath
ULONG RequiredPartitionDiskSpace
LONG DestinationDiskNumber
static LARGE_INTEGER StartTime
#define STATUS_UNRECOGNIZED_VOLUME
_In_ HFONT _Out_ PUINT _Out_ PUINT Width
_In_ HFONT _Out_ PUINT Height
VOID RedrawGenericList(IN PGENERIC_LIST_UI ListUi)
VOID InitGenericListUi(IN OUT PGENERIC_LIST_UI ListUi, IN PGENERIC_LIST List, IN PGET_ENTRY_DESCRIPTION GetEntryDescriptionProc)
VOID ScrollPageUpGenericList(IN PGENERIC_LIST_UI ListUi)
VOID ScrollToPositionGenericList(IN PGENERIC_LIST_UI ListUi, IN ULONG uIndex)
VOID RestoreGenericListUiState(IN PGENERIC_LIST_UI ListUi)
VOID GenericListKeyPress(IN PGENERIC_LIST_UI ListUi, IN CHAR AsciiChar)
VOID DrawGenericList(IN PGENERIC_LIST_UI ListUi, IN SHORT Left, IN SHORT Top, IN SHORT Right, IN SHORT Bottom)
VOID ScrollUpGenericList(IN PGENERIC_LIST_UI ListUi)
VOID ScrollDownGenericList(IN PGENERIC_LIST_UI ListUi)
VOID ScrollPageDownGenericList(IN PGENERIC_LIST_UI ListUi)
VOID DrawGenericListCurrentItem(IN PGENERIC_LIST List, IN PGET_ENTRY_DESCRIPTION GetEntryDescriptionProc, IN SHORT Left, IN SHORT Top)
VOID __cdecl MUIDisplayError(IN ULONG ErrorNum, OUT PINPUT_RECORD Ir, IN ULONG WaitEvent,...)
CHAR CharUpperRightCorner
VOID MUIDisplayPage(IN ULONG page)
VOID SetConsoleCodePage(VOID)
CHAR CharLeftHorizLineAndVertLine
CHAR CharVertLineAndRightHorizLine
VOID MUIDisplayErrorV(IN ULONG ErrorNum, OUT PINPUT_RECORD Ir, IN ULONG WaitEvent, IN va_list args)
CHAR CharLowerRightCorner
PCSTR MUIGetString(ULONG Number)
VOID MUIClearStyledText(IN ULONG Page, IN INT TextID, IN INT Flags)
VOID MUIClearPage(IN ULONG page)
#define STRING_CONSOLEFAIL1
#define STRING_CONSOLEFAIL3
#define STRING_CREATEPARTITION
#define STRING_DELETEPARTITION
#define STRING_CHOOSE_NEW_EXTENDED_PARTITION
#define TEXT_ID_FORMAT_PROMPT
#define STRING_KEYBOARDSETTINGSUPDATE
#define STRING_PARTITIONSIZE
#define STRING_CODEPAGEINFOUPDATE
#define STRING_LOCALESETTINGSUPDATE
#define STRING_IMPORTFILE
#define STRING_ADDKBLAYOUTS
#define STRING_REBOOTCOMPUTER2
#define STRING_CHOOSE_NEW_PARTITION
#define STRING_HDPARTSIZE
#define STRING_INSTALLCREATELOGICAL
#define STRING_NONFORMATTEDSYSTEMPART
#define STRING_PLEASEWAIT
#define STRING_CONSOLEFAIL2
#define STRING_INSTALLDELETEPARTITION
#define STRING_NONFORMATTEDOTHERPART
#define STRING_PARTFORMAT
#define STRING_SETUPCOPYINGFILES
#define STRING_REBOOTPROGRESSBAR
#define STRING_DISPLAYSETTINGSUPDATE
#define STRING_INSTALLCREATEPARTITION
#define STRING_CHOOSE_NEW_LOGICAL_PARTITION
#define STRING_REGHIVEUPDATE
#define STRING_INSTALLONPART
#define STRING_QUITCONTINUE
#define STRING_NEWPARTITION
#define STRING_NONFORMATTEDPART
enum _FORMATMACHINESTATE FORMATMACHINESTATE
static NTSTATUS NTAPI GetSettingDescription(IN PGENERIC_LIST_ENTRY Entry, OUT PSTR Buffer, IN SIZE_T cchBufferSize)
#define PARTITION_SIZE_INPUT_FIELD_LENGTH
static PPARTENTRY TempPartition
static VOID ProgressCountdown(IN PINPUT_RECORD Ir, IN LONG TimeOut)
static PAGE_NUMBER DeviceSettingsPage(PINPUT_RECORD Ir)
static PAGE_NUMBER FlushPage(PINPUT_RECORD Ir)
static PAGE_NUMBER DeletePartitionPage(PINPUT_RECORD Ir)
static WCHAR DefaultLanguage[20]
static WCHAR DefaultKBLayout[20]
static VOID __cdecl RegistryStatus(IN REGISTRY_STATUS RegStatus,...)
static VOID ResetFileSystemList(VOID)
struct _COPYCONTEXT * PCOPYCONTEXT
static PAGE_NUMBER LicensePage(PINPUT_RECORD Ir)
VOID PopupError(PCCH Text, PCCH Status, PINPUT_RECORD Ir, ULONG WaitEvent)
static VOID __cdecl USetupErrorRoutine(IN PUSETUP_DATA pSetupData,...)
static enum @62 PartCreateType
#define PARTITION_NEW_AUTOCREATE
static BOOLEAN BootLoaderRemovableDiskPage(PINPUT_RECORD Ir)
static USETUP_DATA USetupData
static FORMATMACHINESTATE FormatState
static BOOLEAN NTAPI ProgressTimeOutStringHandler(IN PPROGRESSBAR Bar, IN BOOLEAN AlwaysUpdate, OUT PSTR Buffer, IN SIZE_T cchBufferSize)
static PAGE_NUMBER DisplaySettingsPage(PINPUT_RECORD Ir)
static PPARTLIST PartitionList
static PAGE_NUMBER HandleGenericList(PGENERIC_LIST_UI ListUi, PAGE_NUMBER nextPage, PINPUT_RECORD Ir)
static PPARTENTRY InstallPartition
static PAGE_NUMBER ComputerSettingsPage(PINPUT_RECORD Ir)
static PAGE_NUMBER FileCopyPage(PINPUT_RECORD Ir)
VOID NTAPI NtProcessStartup(PPEB Peb)
static PAGE_NUMBER SelectFileSystemPage(PINPUT_RECORD Ir)
static PAGE_NUMBER KeyboardSettingsPage(PINPUT_RECORD Ir)
static PAGE_NUMBER LanguagePage(PINPUT_RECORD Ir)
static PAGE_NUMBER FormatPartitionPage(PINPUT_RECORD Ir)
static BOOLEAN IsValidPath(IN PCWSTR InstallDir)
static VOID SetupUpdateMemoryInfo(IN PCOPYCONTEXT CopyContext, IN BOOLEAN First)
static VOID UpdateKBLayout(VOID)
static BOOLEAN IsPartitionLargeEnough(_In_ PPARTENTRY PartEntry)
static PAGE_NUMBER BootLoaderSelectPage(PINPUT_RECORD Ir)
static PAGE_NUMBER RegistryPage(PINPUT_RECORD Ir)
static PPARTENTRY SystemPartition
static PAGE_NUMBER LayoutSettingsPage(PINPUT_RECORD Ir)
static PAGE_NUMBER InstallIntroPage(PINPUT_RECORD Ir)
static PAGE_NUMBER SuccessPage(PINPUT_RECORD Ir)
static PAGE_NUMBER BootLoaderInstallPage(PINPUT_RECORD Ir)
static BOOL ConfirmQuit(PINPUT_RECORD Ir)
static PPARTENTRY CurrentPartition
static PAGE_NUMBER CheckFileSystemPage(PINPUT_RECORD Ir)
#define PARTITION_MAXSIZE
static VOID DrawBox(IN SHORT xLeft, IN SHORT yTop, IN SHORT Width, IN SHORT Height)
static NTSTATUS NTAPI GetNTOSInstallationName(IN PGENERIC_LIST_ENTRY Entry, OUT PSTR Buffer, IN SIZE_T cchBufferSize)
static PAGE_NUMBER SelectPartitionPage(PINPUT_RECORD Ir)
static PAGE_NUMBER WelcomePage(PINPUT_RECORD Ir)
BOOLEAN IsUnattendedSetup
static PAGE_NUMBER ConfirmDeleteSystemPartitionPage(PINPUT_RECORD Ir)
static PAGE_NUMBER QuitPage(PINPUT_RECORD Ir)
static BOOLEAN RepairUpdateFlag
struct _COPYCONTEXT COPYCONTEXT
static PFILE_SYSTEM_LIST FileSystemList
static VOID PrintString(IN PCSTR fmt,...)
static VOID ShowPartitionSizeInputBox(SHORT Left, SHORT Top, SHORT Right, SHORT Bottom, ULONG MaxSize, PWSTR InputBuffer, PBOOLEAN Quit, PBOOLEAN Cancel)
static PAGE_NUMBER CreatePartitionPage(PINPUT_RECORD Ir)
static PGENERIC_LIST NtOsInstallsList
static BOOLEAN BootLoaderHardDiskPage(PINPUT_RECORD Ir)
static PNTOS_INSTALLATION CurrentInstallation
static PAGE_NUMBER SetupStartPage(PINPUT_RECORD Ir)
PCWSTR SelectedLanguageId
static PAGE_NUMBER PrepareCopyPage(PINPUT_RECORD Ir)
static PAGE_NUMBER RepairIntroPage(PINPUT_RECORD Ir)
static PAGE_NUMBER UpgradeRepairPage(PINPUT_RECORD Ir)
static UINT CALLBACK FileCopyCallback(PVOID Context, UINT Notification, UINT_PTR Param1, UINT_PTR Param2)
static PAGE_NUMBER InstallDirectoryPage(PINPUT_RECORD Ir)
@ SELECT_FILE_SYSTEM_PAGE
@ CONFIRM_DELETE_SYSTEM_PARTITION_PAGE
@ CHANGE_SYSTEM_PARTITION
@ BOOTLOADER_INSTALL_PAGE
@ BOOTLOADER_REMOVABLE_DISK_PAGE
#define POPUP_WAIT_ANY_KEY
enum _PAGE_NUMBER PAGE_NUMBER
_In_ PWDFDEVICE_INIT _In_ PFN_WDF_DEVICE_SHUTDOWN_NOTIFICATION Notification
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR InputBuffer
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ PCUNICODE_STRING _In_ PCUNICODE_STRING _In_ LCID LocaleId
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
void int int ULONGLONG int va_list * ap
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO
unsigned __int64 CDECL _wcstoui64(const wchar_t *nptr, wchar_t **endptr, int base)