81#define PARTITION_NEW_AUTOCREATE 0x80
105 DPRINT(
"mingliu.ttc found\n");
110 DPRINT(
"msgothic.ttc found\n");
115 DPRINT(
"msmincho.ttc found\n");
120 DPRINT(
"mssong.ttf found\n");
128 DPRINT(
"simsun.ttc found\n");
133 DPRINT(
"gulim.ttc found\n");
138 DPRINT(
"batang.ttc found\n");
194 coPos.
X = xLeft +
Width - 1;
203 for (coPos.
Y = yTop + 1; coPos.
Y < yTop +
Height - 1; coPos.
Y++)
219 coPos.
X = xLeft +
Width - 1;
246 coPos.
X = xLeft +
Width - 1;
315 Width = MaxLength + 4;
327 for (coPos.
Y = yTop; coPos.
Y < yTop +
Height; coPos.
Y++)
391 coPos.
X = xLeft +
Width - 1;
482 if (newLayout == LayoutId)
575 DPRINT1(
"The user-mode PnP manager could not initialize, expect unavailable devices!\n");
579 DPRINT1(
"WaitNoPendingInstallEvents() failed to wait!\n");
946 DPRINT1(
"Failed to get a list of NTOS installations; continue installation...\n");
1040 DPRINT1(
"Selected installation for repair: \"%S\" ; DiskNumber = %d , PartitionNumber = %d\n",
1150 return SCSI_CONTROLLER_PAGE;
1182 return OEM_DRIVER_PAGE;
1284 else if (
Line == 16)
1298 else if (
Line == 16)
1317 else if (
Line == 12)
1319 else if (
Line == 13)
1321 else if (
Line == 14)
1323 else if (
Line == 16)
1509 DPRINT1(
"Partition is too small (size: %I64u MB), required disk space is %lu MB\n",
1568 DPRINT1(
"RepairUpdateFlag == TRUE, SelectPartition() returned FALSE, assert!\n");
1714 PopupError(
"The disk you have selected for installing ReactOS\n"
1715 "is not visible by the firmware of your computer,\n"
1716 "and so may not be bootable.\n"
1717 "Press ENTER to continue nonetheless.",
1803 L"\\Device\\Harddisk%lu\\Partition%lu\\",
1834#define PARTITION_SIZE_INPUT_FIELD_LENGTH 9
1836#define PARTITION_MAXSIZE (pow(10, (PARTITION_SIZE_INPUT_FIELD_LENGTH - 1)) - 1)
1998 if ((ch >=
L'0') && (ch <=
L'9'))
2042 CHAR LineBuffer[100];
2099 if ((PartSize < 1) || (PartSize > MaxSize))
2108 if (PartSize == MaxSize)
2109 PartSize = MaxPartSize;
2112 DPRINT(
"Partition size: %I64u bytes\n", PartSize);
2114 ASSERT(PartSize <= MaxPartSize);
2187 CHAR LineBuffer[100];
2313 CHAR LineBuffer[100];
2340 if (Ir->Event.KeyEvent.wVirtualKeyCode ==
VK_RETURN)
2342 else if (Ir->Event.KeyEvent.wVirtualKeyCode ==
VK_ESCAPE)
2367 CHAR LineBuffer[100];
2369 DPRINT(
"SelectFileSystemPage()\n");
2371 ASSERT(PartEntry->IsPartitioned && PartEntry->PartitionNumber != 0);
2383 PartEntry->New &= ~PARTITION_NEW_AUTOCREATE;
2387 else if (PartEntry->New)
2413 if (PartEntry->New || PartEntry->FormatState ==
Unformatted)
2426 DefaultFs =
L"BTRFS";
2450 FsVolContext->NextPageOnAbort =
QUIT_PAGE;
2471 FsVolContext->NextPageOnAbort =
QUIT_PAGE;
2506 PartEntry->NeedsCheck =
FALSE;
2528 CHAR LineBuffer[100];
2552 FsVolContext->NextPageOnAbort =
QUIT_PAGE;
2577 CHAR LineBuffer[100];
2603 switch (FormatStatus)
2637 PopupError(
"The ReactOS Setup could not find a supported system partition\n"
2638 "on your system or could not create a new one. Without such partition\n"
2639 "the Setup program cannot install ReactOS.\n"
2640 "Press ENTER to return to the partition selection list.",
2705 "Setup is currently unable to format a partition in %S.\n"
2707 " \x07 Press ENTER to continue Setup.\n"
2708 " \x07 Press F3 to quit Setup.",
2744 L"\\Device\\Harddisk%lu\\Partition%lu",
2765 "Setup is currently unable to check a partition formatted in %S.\n"
2767 " \x07 Press ENTER to continue Setup.\n"
2768 " \x07 Press F3 to quit Setup.",
2804 "ChkDsk detected some disk errors.\n(Status 0x%08lx).\n",
2888 if (InstallDir[
Length - 1] ==
L'\\')
2901 if (InstallDir[
i] ==
L'\\' &&
i > 0)
2903 if (InstallDir[
i - 1] ==
L'.')
2908 if (InstallDir[
Length - 1] ==
L'.')
2945 wcscpy(InstallDir,
L"\\ReactOS");
2959 DPRINT1(
"InitDestinationPaths() failed: Status 0x%lx\n",
Status);
3007 &InstallDir[
Pos + 1],
3063 DPRINT1(
"InitDestinationPaths() failed: Status 0x%lx\n",
Status);
3109 InstallDir[
Pos] =
c;
3221 PCWSTR SrcFileName, DstFileName;
3247 if (DstFileName) ++DstFileName;
3248 else DstFileName = FilePathInfo->
Target;
3259 if (SrcFileName) ++SrcFileName;
3260 else SrcFileName = FilePathInfo->
Source;
3263 if (DstFileName) ++DstFileName;
3264 else DstFileName = FilePathInfo->
Target;
3266 if (!
wcsicmp(SrcFileName, DstFileName))
3272 SrcFileName, DstFileName);
3283 if (DstFileName) ++DstFileName;
3284 else DstFileName = FilePathInfo->
Target;
3290 DoWatchDestFileName(DstFileName);
3302 DPRINT1(
"An error happened while trying to copy file '%S' (error 0x%08lx), skipping it...\n",
3315 DPRINT1(
"CHECKPOINT:HALF_COPIED\n");
3362 MemBarWidth = (
xScreen - 26) / 5;
3363 MemBarWidth -= MemBarWidth % 2;
3378 (
xScreen / 2) + (MemBarWidth / 2),
3380 (
xScreen / 2)- (MemBarWidth / 2),
3417 static const UINT StringIDs[] =
3617 else if (
Line == 13)
3623 else if (
Line == 14)
3629 else if (
Line == 15)
3719 L"\\Device\\Harddisk%d\\Partition0",
3723 DestinationDevicePathBuffer);
3726 DPRINT1(
"InstallMbrBootCodeToDisk() failed: Status 0x%lx\n",
Status);
3771 L"\\Device\\Harddisk%lu\\Partition%lu\\",
3833 if (
Bar->StepCount == 0)
3839 Bar->Progress =
Bar->StepCount -
Bar->CurrentStep;
3843 if (
Bar->ProgressFormatText &&
3844 (AlwaysUpdate || (
Bar->Progress != OldProgress)))
3847 Bar->ProgressFormatText,
Bar->Progress /
max(1,
Bar->Width) + 1);
3879 LONG TimerValue, OldTimerValue;
3903 TimerValue = TimeOut * BarWidth;
3909 TimerDiv = 1000 / BarWidth;
3910 TimerDiv =
max(1, TimerDiv);
3911 OldTimerValue = TimerValue;
3922 if (TimeElapsed >= TimerDiv)
3925 TimeElapsed /= TimerDiv;
3928 if (TimeElapsed <= TimerValue)
3929 TimerValue -= TimeElapsed;
3933 RefreshProgress =
TRUE;
3936 if (RefreshProgress)
3939 RefreshProgress =
FALSE;
3943 if (TimerValue <= 0)
3956 if (TimeElapsed < TimerDiv)
3959 Timeout.QuadPart = (TimerDiv - TimeElapsed) * -10000LL;
3975 DPRINT1(
"NtWaitForSingleObject() failed, Status 0x%08lx\n",
Status);
3982 if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D)
4094 DPRINT1(
"NtInitializeRegistry() failed (Status 0x%08lx)\n",
Status);
4101 DPRINT1(
"The user-mode PnP manager could not initialize (Status 0x%08lx), expect unavailable devices!\n",
Status);
4156 case SCSI_CONTROLLER_PAGE:
4157 Page = ScsiControllerPage(&Ir);
4160 case OEM_DRIVER_PAGE:
4161 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
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
#define PARTITION_EXTENDED
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 EndCheck(_In_ NTSTATUS Status)
VOID StartCheck(_Inout_ PCHECK_VOLUME_INFO ChkInfo)
VOID StartFormat(_Inout_ PFORMAT_VOLUME_INFO FmtInfo, _In_ PFILE_SYSTEM_ITEM SelectedFileSystem)
static PPROGRESSBAR ProgressBar
VOID EndFormat(_In_ NTSTATUS Status)
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)
struct _PARTENTRY * PPARTENTRY
#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)
BOOLEAN FsVolCommitOpsQueue(_In_ PPARTLIST PartitionList, _In_ PPARTENTRY SystemPartition, _In_ PPARTENTRY InstallPartition, _In_opt_ PFSVOL_CALLBACK FsVolCallback, _In_opt_ PVOID Context)
@ FSVOLNOTIFY_STARTSUBQUEUE
@ FSVOLNOTIFY_STARTFORMAT
@ FSVOLNOTIFY_ENDSUBQUEUE
@ FSVOLNOTIFY_PARTITIONERROR
@ FSVOLNOTIFY_FORMATERROR
struct _FORMAT_VOLUME_INFO * PFORMAT_VOLUME_INFO
enum _FSVOLNOTIFY FSVOLNOTIFY
struct _CHECK_VOLUME_INFO * PCHECK_VOLUME_INFO
ERROR_NUMBER ExtendedPartitionCreationChecks(_In_ PPARTENTRY PartEntry)
VOID DestroyPartitionList(IN PPARTLIST List)
ERROR_NUMBER PartitionCreationChecks(_In_ PPARTENTRY PartEntry)
ULONGLONG RoundingDivide(IN ULONGLONG Dividend, IN ULONGLONG Divisor)
BOOLEAN CreatePartition(_In_ PPARTLIST List, _Inout_ PPARTENTRY PartEntry, _In_opt_ ULONGLONG SizeBytes, _In_opt_ ULONG_PTR PartitionInfo)
BOOLEAN IsSuperFloppy(IN PDISKENTRY DiskEntry)
BOOLEAN DeletePartition(_In_ PPARTLIST List, _In_ PPARTENTRY PartEntry, _Out_opt_ PPARTENTRY *FreeRegion)
PPARTLIST CreatePartitionList(VOID)
BOOLEAN IsPartitionActive(IN PPARTENTRY PartEntry)
PPARTENTRY SelectPartition(_In_ PPARTLIST List, _In_ ULONG DiskNumber, _In_ ULONG PartitionNumber)
VOID ScrollUpDownPartitionList(_In_ PPARTLIST_UI ListUi, _In_ BOOLEAN Direction)
VOID PartitionDescription(IN PPARTENTRY PartEntry, OUT PSTR strBuffer, IN SIZE_T cchBuffer)
VOID DiskDescription(IN PDISKENTRY DiskEntry, OUT PSTR strBuffer, IN SIZE_T cchBuffer)
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
BOOLEAN InitSystemPartition(_In_ PPARTLIST PartitionList, _In_ PPARTENTRY InstallPartition, _Out_ PPARTENTRY *pSystemPartition, _In_opt_ PFSVOL_CALLBACK FsVolCallback, _In_opt_ PVOID Context)
Find or set the active system partition.
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)
#define ERROR_SYSTEM_PARTITION_NOT_FOUND
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
PAGE_NUMBER NextPageOnAbort
union _KEY_EVENT_RECORD::@3287 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
static NTSTATUS NTAPI GetSettingDescription(IN PGENERIC_LIST_ENTRY Entry, OUT PSTR Buffer, IN SIZE_T cchBufferSize)
#define PARTITION_SIZE_INPUT_FIELD_LENGTH
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 BOOLEAN ChangeSystemPartitionPage(IN PINPUT_RECORD Ir, IN PPARTENTRY SystemPartition)
static PAGE_NUMBER DeletePartitionPage(PINPUT_RECORD Ir)
static WCHAR DefaultLanguage[20]
struct _FSVOL_CONTEXT FSVOL_CONTEXT
static WCHAR DefaultKBLayout[20]
static VOID __cdecl RegistryStatus(IN REGISTRY_STATUS RegStatus,...)
static FSVOL_OP CALLBACK FsVolCallback(_In_opt_ PVOID Context, _In_ FSVOLNOTIFY FormatStatus, _In_ ULONG_PTR Param1, _In_ ULONG_PTR Param2)
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,...)
#define PARTITION_NEW_AUTOCREATE
static BOOLEAN BootLoaderRemovableDiskPage(PINPUT_RECORD Ir)
static USETUP_DATA USetupData
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 VOID CheckFileSystemPage(IN PPARTENTRY PartEntry)
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 KeyboardSettingsPage(PINPUT_RECORD Ir)
static PAGE_NUMBER LanguagePage(PINPUT_RECORD Ir)
struct _FSVOL_CONTEXT * PFSVOL_CONTEXT
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 StartPartitionOperationsPage(PINPUT_RECORD Ir)
static FSVOL_OP SelectFileSystemPage(IN PFSVOL_CONTEXT FsVolContext, IN PPARTENTRY PartEntry)
static FSVOL_OP FormatPartitionPage(IN PFSVOL_CONTEXT FsVolContext, 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
#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 enum @56 PartCreateType
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
@ START_PARTITION_OPERATIONS_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)