79 ncm.cbSize =
sizeof(NONCLIENTMETRICS);
82 LogFont = ncm.lfMessageFont;
132 (
WPARAM)pSetupData->hTitleFont,
191 if (pSetupData->NtOsInstallsList &&
301 IN const INT* pColsWidth,
302 IN const INT* pColsAlign,
311 lvC.pszText = szText;
314 for (
i = 0;
i < nNumOfColumns;
i++)
317 lvC.cx = pColsWidth[
i];
318 lvC.fmt = pColsAlign[
i];
344 WCHAR CurrentItemText[256];
352 if (GetEntryDescriptionProc)
354 GetEntryDescriptionProc(ListEntry,
364 if (ListEntry ==
List->CurrentEntry)
365 CurrentEntryIndex =
Index;
400 INT CurrentEntryIndex = 0;
404 WCHAR CurrentItemText[256];
412 if (!AddEntryItemProc)
421 if (ListEntry ==
List->CurrentEntry)
422 CurrentEntryIndex = lvItem.iItem;
491 plvItem->iSubItem = 0;
509 plvItem->iSubItem = 1;
510 plvItem->pszText =
Buffer;
513 plvItem->iSubItem = 2;
519#define IDS_LIST_COLUMN_FIRST IDS_INSTALLATION_NAME
520#define IDS_LIST_COLUMN_LAST IDS_INSTALLATION_VENDOR
522#define MAX_LIST_COLUMNS (IDS_LIST_COLUMN_LAST - IDS_LIST_COLUMN_FIRST + 1)
823 static WCHAR szOrgWizNextBtnText[260];
860 WCHAR CurrentItemText[256];
868 L"Upgrading/Repairing \"%s\" from \"%s\"",
875 L"New ReactOS installation");
920 szOrgWizNextBtnText,
ARRAYSIZE(szOrgWizNextBtnText));
994 PCWSTR SrcFileName, DstFileName;
1028 if (DstFileName) ++DstFileName;
1029 else DstFileName = FilePathInfo->
Target;
1041 if (SrcFileName) ++SrcFileName;
1042 else SrcFileName = FilePathInfo->
Source;
1045 if (DstFileName) ++DstFileName;
1046 else DstFileName = FilePathInfo->
Target;
1049 if (!
wcsicmp(SrcFileName, DstFileName))
1062 if (DstFileName) ++DstFileName;
1063 else DstFileName = FilePathInfo->
Target;
1080 DPRINT1(
"CHECKPOINT:HALF_COPIED\n");
1343 (
WPARAM)pSetupData->hTitleFont,
1406 if (!pSetupData->PartitionList)
1408 DPRINT1(
"Could not enumerate available disks; failing installation\n");
1413 if (!pSetupData->NtOsInstallsList)
1414 DPRINT1(
"Failed to get a list of NTOS installations; continue installation...\n");
1422 pSetupData->USetupData.LanguageList =
CreateLanguageList(pSetupData->USetupData.SetupInf, pSetupData->DefaultLanguage);
1431 _countof(pSetupData->DefaultLanguage),
1432 L"%08lx", LocaleID);
1435 _countof(pSetupData->USetupData.LocaleID),
1436 L"%08lx", LocaleID);
1440 pSetupData->SelectedLanguageId = pSetupData->DefaultLanguage;
1441 wcscpy(pSetupData->DefaultLanguage, pSetupData->USetupData.LocaleID);
1442 pSetupData->USetupData.LanguageId = (
LANGID)(
wcstol(pSetupData->SelectedLanguageId,
NULL, 16) & 0xFFFF);
1445 pSetupData->SelectedLanguageId,
1446 pSetupData->DefaultKBLayout);
1459 PGENERIC_LIST LanguageList = pSetupData->USetupData.LanguageList;
1460 PGENERIC_LIST LayoutList = pSetupData->USetupData.LayoutList;
1481 if (!
wcsicmp(pSetupData->DefaultKBLayout, pszLayoutId))
1483 DPRINT(
"Found %S in LayoutList\n", pszLayoutId);
1498 MappingList->MappingsCount = 0;
1515 MappingList->MappingsCount = 0;
1532 PCWSTR pwszNtPathToMap = pwszNTPath;
1536 WCHAR wszDrives[512];
1550 for (ListEntry = MappingList->List.
Flink;
1551 ListEntry != &MappingList->List;
1552 ListEntry = ListEntry->
Flink)
1565 pwszDrive =
Entry->Win32Path;
1566 pwszRemaining = pwszNTPath +
wcslen(
Entry->NtPath);
1577 if (cchDrives == 0 || cchDrives >=
_countof(wszDrives))
1580 DPRINT1(
"ConvertNtPathToWin32Path: GetLogicalDriveStringsW failed\n");
1588 for (pwszDrive = wszDrives; *pwszDrive; pwszDrive +=
wcslen(pwszDrive) + 1)
1593 pwszDrive[2] =
L'\\';
1595 DPRINT(
"Testing '%S' --> '%S'\n", pwszDrive, wszNTPath);
1598 FoundDrive = !
_wcsnicmp(pwszNtPathToMap, wszNTPath,
wcslen(wszNTPath));
1627 if (pwszDrive[0] !=
ptr[1])
1629 DPRINT1(
"Peculiar: expected network share drive letter %C different from actual one %C\n",
1630 pwszDrive[0],
ptr[1]);
1636 while (*ptr2 ==
L'\\') ++ptr2;
1641 FoundDrive = !
_wcsnicmp(pwszNtPathToMap, wszNTPath,
wcslen(wszNTPath));
1650 if (pwszNtPathToMap == pwszNTPath)
1652 ASSERT(!RetryOnce && pwszNTPath != TargetPath);
1653 pwszRemaining = pwszNTPath +
wcslen(wszNTPath);
1665 DPRINT1(
"ConvertNtPathToWin32Path: Cannot allocate memory\n");
1669 pwszNTPath, pwszRemaining - pwszNTPath);
1674 MappingList->MappingsCount++;
1677 pwszDrive =
Entry->Win32Path;
1702 if (!RetryOnce && !FoundDrive)
1712 if (
swscanf(pwszNTPath,
L"\\Device\\Harddisk%lu\\Partition%lu%n",
1720 RtlInitEmptyUnicodeString(&SymLink, (
PWCHAR)pwszNTPath,
Length *
sizeof(
WCHAR));
1734 DPRINT1(
"ConvertNtPathToWin32Path: NtOpenSymbolicLinkObject(%wZ) failed, Status 0x%08lx\n",
1740 RtlInitEmptyUnicodeString(&
Target, TargetPath,
sizeof(TargetPath));
1750 DPRINT1(
"ConvertNtPathToWin32Path: NtQuerySymbolicLinkObject(%wZ) failed, Status 0x%08lx\n",
1756 pwszRemaining = pwszNTPath +
Length;
1757 pwszNtPathToMap = TargetPath;
1773 DPRINT(
"ConvertNtPathToWin32Path: %S\n", pwszPath);
1784 IN BOOL bEnablePrivilege)
1797 &
tp.Privileges[0].Luid);
1800 tp.PrivilegeCount = 1;
1817 DPRINT(
"HotkeyThread start\n");
1855 DPRINT(
"HotkeyThread terminate\n");
1920 iccx.
dwSize =
sizeof(iccx);
1937 psp.hInstance =
hInst;
1945 psp.dwFlags =
PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
1948 psp.hInstance =
hInst;
1956 psp.dwFlags =
PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
1959 psp.hInstance =
hInst;
1967 psp.dwFlags =
PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
1970 psp.hInstance =
hInst;
1978 psp.dwFlags =
PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
1981 psp.hInstance =
hInst;
1989 psp.dwFlags =
PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
1992 psp.hInstance =
hInst;
2001 psp.dwFlags =
PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
2004 psp.hInstance =
hInst;
2013 psp.hInstance =
hInst;
2021 psh.dwFlags = PSH_WIZARD97 | PSH_WATERMARK | PSH_HEADER;
2022 psh.hInstance =
hInst;
2023 psh.hwndParent =
NULL;
2024 psh.nPages = nPages;
static HWND hWndList[5+1]
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)
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
static HFONT CreateTitleFont(VOID)
static VOID CenterWindow(HWND hWnd)
static INT_PTR CALLBACK ProcessDlgProc(IN HWND hwndDlg, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam)
PVOID GetSelectedListViewItem(IN HWND hWndList)
struct _COPYCONTEXT * PCOPYCONTEXT
static INT_PTR CALLBACK TypeDlgProc(IN HWND hwndDlg, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam)
static const INT column_widths[MAX_LIST_COLUMNS]
static INT_PTR CALLBACK RestartDlgProc(IN HWND hwndDlg, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam)
BOOL ConvertNtPathToWin32Path(IN OUT PNT_WIN32_PATH_MAPPING_LIST MappingList, OUT PWSTR pwszPath, IN DWORD cchPathMax, IN PCWSTR pwszNTPath)
BOOL LoadSetupData(IN OUT PSETUPDATA pSetupData)
static const INT column_alignment[MAX_LIST_COLUMNS]
static INT_PTR CALLBACK UpgradeRepairDlgProc(IN HWND hwndDlg, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam)
PVOID GetSelectedComboListItem(IN HWND hWndList)
VOID InitGenericListView(IN HWND hWndList, IN PGENERIC_LIST List, IN PADD_ENTRY_ITEM AddEntryItemProc)
VOID FreeNtToWin32PathMappingList(IN OUT PNT_WIN32_PATH_MAPPING_LIST MappingList)
BOOL CreateListViewColumns(IN HINSTANCE hInstance, IN HWND hWndListView, IN const UINT *pIDs, IN const INT *pColsWidth, IN const INT *pColsAlign, IN UINT nNumOfColumns)
static VOID NTAPI GetSettingDescription(IN PGENERIC_LIST_ENTRY Entry, OUT PWSTR Buffer, IN SIZE_T cchBufferSize)
#define IDS_LIST_COLUMN_FIRST
VOID(NTAPI * PADD_ENTRY_ITEM)(IN HWND hWndList, IN LVITEM *plvItem, IN PGENERIC_LIST_ENTRY Entry, IN OUT PWSTR Buffer, IN SIZE_T cchBufferSize)
static INT_PTR CALLBACK DeviceDlgProc(IN HWND hwndDlg, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam)
static INT_PTR CALLBACK SummaryDlgProc(IN HWND hwndDlg, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam)
VOID InitNtToWin32PathMappingList(IN OUT PNT_WIN32_PATH_MAPPING_LIST MappingList)
VOID(NTAPI * PGET_ENTRY_DESCRIPTION)(IN PGENERIC_LIST_ENTRY Entry, OUT PWSTR Buffer, IN SIZE_T cchBufferSize)
static VOID NTAPI AddNTOSInstallationItem(IN HWND hWndList, IN LVITEM *plvItem, IN PGENERIC_LIST_ENTRY Entry, IN OUT PWSTR Buffer, IN SIZE_T cchBufferSize)
BOOLEAN IsUnattendedSetup
static INT_PTR CALLBACK StartDlgProc(IN HWND hwndDlg, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam)
struct _COPYCONTEXT COPYCONTEXT
static DWORD CALLBACK HotkeyThread(LPVOID Parameter)
BOOL EnablePrivilege(IN LPCWSTR lpszPrivilegeName, IN BOOL bEnablePrivilege)
INT DisplayError(IN HWND hParentWnd OPTIONAL, IN UINT uIDTitle, IN UINT uIDMessage)
static const UINT column_ids[MAX_LIST_COLUMNS]
VOID InitGenericComboList(IN HWND hWndList, IN PGENERIC_LIST List, IN PGET_ENTRY_DESCRIPTION GetEntryDescriptionProc)
static DWORD WINAPI PrepareAndDoCopyThread(IN LPVOID Param)
static UINT CALLBACK FileCopyCallback(PVOID Context, UINT Notification, UINT_PTR Param1, UINT_PTR Param2)
struct _SETUPDATA * PSETUPDATA
#define IDS_DRIVESUBTITLE
#define IDS_PROCESSSUBTITLE
#define IDC_PROCESSPROGRESS
#define IDC_CONFIRM_INSTALL
#define IDS_NO_TXTSETUP_SIF
#define IDD_UPDATEREPAIRPAGE
#define IDS_DEVICESUBTITLE
#define IDS_SUMMARYSUBTITLE
#define IDC_INSTALLSOURCE
#define IDC_RESTART_PROGRESS
_In_ PSCSI_REQUEST_BLOCK _Out_ NTSTATUS _Inout_ BOOLEAN * Retry
BOOL WINAPI InitCommonControlsEx(const INITCOMMONCONTROLSEX *lpInitCtrls)
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
#define NT_SUCCESS(StatCode)
BOOL WINAPI LookupPrivilegeValueW(LPCWSTR lpSystemName, LPCWSTR lpPrivilegeName, PLUID lpLuid)
BOOL WINAPI AdjustTokenPrivileges(HANDLE TokenHandle, BOOL DisableAllPrivileges, PTOKEN_PRIVILEGES NewState, DWORD BufferLength, PTOKEN_PRIVILEGES PreviousState, PDWORD ReturnLength)
BOOL WINAPI OpenProcessToken(HANDLE ProcessHandle, DWORD DesiredAccess, PHANDLE TokenHandle)
BOOL WINAPI ImageList_Destroy(HIMAGELIST himl)
HIMAGELIST WINAPI ImageList_Create(INT cx, INT cy, UINT flags, INT cInitial, INT cGrow)
#define GetCurrentProcess()
#define HeapFree(x, y, z)
ATOM WINAPI GlobalDeleteAtom(ATOM nAtom)
ATOM WINAPI GlobalAddAtomW(LPCWSTR lpString)
DWORD WINAPI QueryDosDeviceW(LPCWSTR lpDeviceName, LPWSTR lpTargetPath, DWORD ucchMax)
DWORD WINAPI GetLogicalDriveStringsW(IN DWORD nBufferLength, IN LPWSTR lpBuffer)
BOOL WINAPI DECLSPEC_HOTPATCH CreateProcessW(LPCWSTR lpApplicationName, LPWSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCWSTR lpCurrentDirectory, LPSTARTUPINFOW lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation)
DWORD WINAPI ResumeThread(IN HANDLE hThread)
HANDLE WINAPI DECLSPEC_HOTPATCH CreateThread(IN LPSECURITY_ATTRIBUTES lpThreadAttributes, IN DWORD dwStackSize, IN LPTHREAD_START_ROUTINE lpStartAddress, IN LPVOID lpParameter, IN DWORD dwCreationFlags, OUT LPDWORD lpThreadId)
DWORD WINAPI GetThreadId(IN HANDLE Thread)
INT_PTR CALLBACK DriveDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
_In_ uint64_t _In_ uint64_t _In_ uint64_t _In_opt_ traverse_ptr * tp
#define InsertHeadList(ListHead, Entry)
#define IsListEmpty(ListHead)
#define RemoveHeadList(ListHead)
#define InitializeListHead(ListHead)
#define SPFILENOTIFY_ENDDELETE
struct _FILEPATHS_W * PFILEPATHS_W
#define SPFILENOTIFY_STARTDELETE
#define SPFILENOTIFY_STARTSUBQUEUE
#define SPFILENOTIFY_ENDCOPY
#define SPFILENOTIFY_STARTCOPY
#define SPFILENOTIFY_STARTRENAME
#define SPFILENOTIFY_ENDRENAME
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
_Check_return_ _CRTIMP int __cdecl swscanf(_In_z_ const wchar_t *_Src, _In_z_ _Scanf_format_string_ const wchar_t *_Format,...)
_Check_return_ long __cdecl wcstol(_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)
#define OBJ_CASE_INSENSITIVE
LCID WINAPI GetUserDefaultLCID(void)
VOID SetCurrentListEntry(IN PGENERIC_LIST List, IN PGENERIC_LIST_ENTRY Entry)
PGENERIC_LIST_ENTRY GetFirstListEntry(IN PGENERIC_LIST List)
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 memmove(s1, s2, n)
#define PSN_QUERYINITIALFOCUS
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
#define InitializeObjectAttributes(p, n, a, r, s)
struct _PSP * HPROPSHEETPAGE
unsigned __int3264 UINT_PTR
#define SYMBOLIC_LINK_QUERY
NTSTATUS NTAPI NtClose(IN HANDLE Handle)
_In_ ULONG _In_ ULONG _In_ ULONG Length
NTSTATUS NTAPI NtQuerySymbolicLinkObject(IN HANDLE LinkHandle, OUT PUNICODE_STRING LinkTarget, OUT PULONG ResultLength OPTIONAL)
NTSTATUS NTAPI NtOpenSymbolicLinkObject(OUT PHANDLE LinkHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes)
PGENERIC_LIST CreateNTOSInstallationsList(IN PPARTLIST PartList)
struct _NTOS_INSTALLATION * PNTOS_INSTALLATION
#define PropSheet_PressButton(d, i)
#define CreatePropertySheetPage
#define PropSheet_SetWizButtons(d, f)
#define PropSheet_SetCurSelByID(d, i)
#define ListView_SetItemState(hwndLV, i, data, mask)
#define ListView_SetExtendedListViewStyleEx(hwndLV, dwMask, dw)
#define ICC_TREEVIEW_CLASSES
#define ListView_InsertColumn(hwnd, iCol, pcol)
#define ListView_SetImageList(hwnd, himl, iImageList)
#define ListView_GetImageList(hwnd, iImageList)
#define LVS_EX_FULLROWSELECT
#define ICC_PROGRESS_CLASS
#define ListView_GetSelectionMark(hwnd)
struct tagNMLISTVIEW * LPNMLISTVIEW
#define ImageList_AddIcon(himl, hicon)
#define ListView_GetItem(hwnd, pitem)
#define ListView_EnsureVisible(hwndLV, i, fPartialOK)
#define ICC_LISTVIEW_CLASSES
_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 _wcsnicmp(_In_reads_or_z_(_MaxCount) const wchar_t *_Str1, _In_reads_or_z_(_MaxCount) const wchar_t *_Str2, _In_ size_t _MaxCount)
PPARTLIST CreatePartitionList(VOID)
VOID FinishSetup(IN OUT PUSETUP_DATA pSetupData)
VOID CheckUnattendedSetup(IN OUT PUSETUP_DATA pSetupData)
VOID InstallSetupInfFile(IN OUT PUSETUP_DATA pSetupData)
ERROR_NUMBER InitializeSetup(IN OUT PUSETUP_DATA pSetupData, IN ULONG InitPhase)
PULONG MinorVersion OPTIONAL
LPTSTR FindSubStrI(LPCTSTR str, LPCTSTR strSearch)
STRSAFEAPI StringCchPrintfW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszFormat,...)
STRSAFEAPI StringCchCopyW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszSrc)
STRSAFEAPI StringCchCopyNW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszSrc, size_t cchToCopy)
base of all file and directory entries
CHAR lfFaceName[LF_FACESIZE]
ULONG CompletedOperations
struct _LIST_ENTRY * Flink
WCHAR InstallationName[MAX_PATH]
UNICODE_STRING SystemNtPath
WCHAR VendorName[MAX_PATH]
PNTOS_INSTALLATION CurrentInstallation
TCHAR szAbortMessage[512]
PGENERIC_LIST NtOsInstallsList
NT_WIN32_PATH_MAPPING_LIST MappingList
PGENERIC_LIST DisplayList
UNICODE_STRING DestinationRootPath
PGENERIC_LIST ComputerList
UNICODE_STRING InstallPath
PGENERIC_LIST KeyboardList
DWORD WINAPI WaitForSingleObject(IN HANDLE hHandle, IN DWORD dwMilliseconds)
HANDLE WINAPI DECLSPEC_HOTPATCH CreateEventW(IN LPSECURITY_ATTRIBUTES lpEventAttributes OPTIONAL, IN BOOL bManualReset, IN BOOL bInitialState, IN LPCWSTR lpName OPTIONAL)
BOOL WINAPI DECLSPEC_HOTPATCH SetEvent(IN HANDLE hEvent)
BOOL WINAPI DECLSPEC_HOTPATCH ResetEvent(IN HANDLE hEvent)
int TreeListRegister(HINSTANCE hInstance)
BOOL TreeListUnregister(HINSTANCE hInstance)
TW_UINT32 TW_UINT16 TW_UINT16 MSG
#define CONTAINING_RECORD(address, type, field)
_In_ WDFCOLLECTION _In_ ULONG Index
_In_ PWDFDEVICE_INIT _In_ PFN_WDF_DEVICE_SHUTDOWN_NOTIFICATION Notification
_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
_Must_inspect_result_ _In_ WDFCMRESLIST List
UINT WINAPI GetDlgItemTextW(HWND hDlg, int nIDDlgItem, LPWSTR lpString, int nMaxCount)
DWORD WINAPI GetLastError(void)
#define CREATE_NEW_CONSOLE
#define ComboBox_GetItemData(hwndCtl, index)
#define ComboBox_GetCurSel(hwndCtl)
int WINAPI GetDeviceCaps(_In_opt_ HDC, _In_ int)
#define CreateFontIndirect
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
BOOL WINAPI GetKeyboardLayoutNameW(_Out_writes_(KL_NAMELENGTH) LPWSTR)
#define GetWindowLongPtrW
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
BOOL WINAPI CheckDlgButton(_In_ HWND, _In_ int, _In_ UINT)
BOOL WINAPI GetMessageW(_Out_ LPMSG, _In_opt_ HWND, _In_ UINT, _In_ UINT)
BOOL WINAPI GetWindowRect(_In_ HWND, _Out_ LPRECT)
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
BOOL WINAPI SetWindowPos(_In_ HWND, _In_opt_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT)
BOOL WINAPI UnregisterHotKey(_In_opt_ HWND, _In_ int)
BOOL WINAPI SetDlgItemTextW(_In_ HWND, _In_ int, _In_ LPCWSTR)
int WINAPI MessageBoxW(_In_opt_ HWND hWnd, _In_opt_ LPCWSTR lpText, _In_opt_ LPCWSTR lpCaption, _In_ UINT uType)
HWND WINAPI GetDlgItem(_In_opt_ HWND, _In_ int)
UINT_PTR WINAPI SetTimer(_In_opt_ HWND, _In_ UINT_PTR, _In_ UINT, _In_opt_ TIMERPROC)
HWND WINAPI GetDesktopWindow(void)
BOOL WINAPI SetWindowTextW(_In_ HWND, _In_opt_ LPCWSTR)
UINT WINAPI IsDlgButtonChecked(_In_ HWND, _In_ int)
BOOL WINAPI RegisterHotKey(_In_opt_ HWND, _In_ int, _In_ UINT, _In_ UINT)
BOOL WINAPI PostThreadMessageW(_In_ DWORD, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
struct tagNMHDR * LPNMHDR
BOOL WINAPI EnableWindow(_In_ HWND, _In_ BOOL)
HDC WINAPI GetDC(_In_opt_ HWND)
HWND WINAPI GetParent(_In_ HWND)
BOOL WINAPI ExitWindowsEx(_In_ UINT, _In_ DWORD)
#define MAKEINTRESOURCEW(i)
BOOL WINAPI KillTimer(_In_opt_ HWND, _In_ UINT_PTR)
#define SystemParametersInfo
#define SetWindowLongPtrW
#define SendDlgItemMessage
HICON WINAPI LoadIconW(_In_opt_ HINSTANCE hInstance, _In_ LPCWSTR lpIconName)
int WINAPI GetSystemMetrics(_In_ int)
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
_In_ ULONG _In_ ULONG PartitionNumber
_Inout_opt_ PVOID Parameter
#define TOKEN_ADJUST_PRIVILEGES
#define SE_PRIVILEGE_ENABLED