64 strcat(szBuffer,
"\nRebooting now!");
88 hr = IShellLinkW_SetPath(psl, pszCmd);
91 hr = IShellLinkW_SetArguments(psl, pszArg);
94 hr = IShellLinkW_SetWorkingDirectory(psl,
pszDir);
97 hr = IShellLinkW_SetIconLocation(psl, pszIconPath, iIconNr);
100 hr = IShellLinkW_SetDescription(psl, pszComment);
106 hr = IPersistFile_Save(ppf, pszLinkPath,
TRUE);
107 IPersistFile_Release(ppf);
110 IShellLinkW_Release(psl);
134 if (pszWorkingDir ==
NULL || pszWorkingDir[0] ==
L'\0')
143 if (dwLen != 0 && dwLen <=
ARRAYSIZE(szWorkingDirBuf))
154 szWorkingDirBuf[1] ==
L':' && szWorkingDirBuf[2] ==
L'\\'))
158 pszWorkingDir = szWorkingDirBuf;
163 if (pszWorkingDir && pszWorkingDir[0] ==
L'\0')
164 pszWorkingDir =
NULL;
177 (iIconNr != -1 ? pszCommand :
NULL),
210 if (dwFieldCount < 3)
226 szDirectory[0] =
L'\0';
330 DPRINT1(
"Failed to open shortcuts.inf");
347 DPRINT1(
"CreateShortcuts() failed");
355 DPRINT1(
"CreateShortcuts(rosapps) failed");
380 L"SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment",
427 WCHAR szLineBuffer[256];
431 L"DeviceInfsToInstall",
463 WCHAR szNameBuffer[256];
464 WCHAR szSectionBuffer[256];
472 DPRINT(
"No Inf.Always section found\n");
484 FatalError(
"Error while trying to get component name\n");
494 FatalError(
"Error while trying to get component install section\n");
498 DPRINT(
"Trying to execute install section '%S' from '%S'\n", szSectionBuffer, szNameBuffer);
573 FatalError(
"SHGetFolderPathW failed hret=0x%lx\n", hret);
580 if (pItemsData && pNotify)
583 pNotify->CurrentItem =
szName;
585 DPRINT(
"RegisterTypeLibraries: Start step %ld\n", pNotify->Progress);
598 if (pItemsData && pNotify)
600 DPRINT(
"RegisterTypeLibraries: End step %ld\n", pNotify->Progress);
613 SC_HANDLE hService =
NULL;
616 DWORD BytesNeeded, WaitTime;
621 DPRINT1(
"Unable to open the service control manager.\n");
629 if (hService ==
NULL)
631 DPRINT1(
"Unable to open PlugPlay service\n");
643 DPRINT1(
"Unable to change the service configuration\n");
650 DPRINT1(
"Unable to start service\n");
663 DPRINT1(
"QueryServiceStatusEx() failed for PlugPlay service (error 0x%x)\n",
GetLastError());
671 if (WaitTime < 1000) WaitTime = 1000;
672 else if (WaitTime > 10000) WaitTime = 10000;
679 DPRINT1(
"Failed to start PlugPlay service\n");
686 if (hService !=
NULL)
697 INT xNew, yNew, cxNew, cyNew;
698 INT cxLabel, cyLabel, dyLabel;
699 RECT rc, rcBar, rcLabel, rcWnd;
726 dyLabel = bmLogo.bmHeight - rcBar.
top;
733 MoveWindow(hwndLogo, 0, 0, bmLogo.bmWidth, bmLogo.bmHeight,
TRUE);
734 MoveWindow(hwndBar, 0, bmLogo.bmHeight, bmLogo.bmWidth, bmBar.bmHeight,
TRUE);
752 xNew = xOld - (cxNew -
cxOld) / 2;
753 yNew = yOld - (cyNew -
cyOld) / 2;
793 GetObject(pDlgData->hBarBitmap,
sizeof(bm), &bm);
794 pDlgData->BarWidth = bm.bmWidth;
795 pDlgData->BarHeight = bm.bmHeight;
797 if (pDlgData->hLogoBitmap && pDlgData->hBarBitmap)
937 pwszValue[cbData /
sizeof(
WCHAR)] =
'\0';
948 LPWSTR pwszCurrentOption, pwszNextOption;
953 L"SYSTEM\\CurrentControlSet\\Control",
960 rc =
ReadRegSzKey(hControlKey,
L"SystemStartOptions", &pwszSystemStartOptions);
965 pwszCurrentOption = pwszSystemStartOptions;
966 while (pwszCurrentOption)
968 pwszNextOption =
wcschr(pwszCurrentOption,
L' ');
970 *pwszNextOption =
L'\0';
971 if (
_wcsicmp(pwszCurrentOption,
L"CONSOLE") == 0)
973 DPRINT(
"Found %S. Switching to console boot\n", pwszCurrentOption);
977 pwszCurrentOption = pwszNextOption ? pwszNextOption + 1 :
NULL;
981 if (hControlKey !=
NULL)
983 if (pwszSystemStartOptions)
1007 BOOL bDefaultThemesOff;
1028 bDefaultThemesOff =
FALSE;
1030 bDefaultThemesOff = (
_wcsicmp(szValue,
L"yes") == 0);
1032 if (!bDefaultThemesOff)
1036 bDefaultThemesOff =
TRUE;
1061 FatalError(
"InstallSysSetupInfDevices() failed!\n");
1067 FatalError(
"InstallSysSetupInfComponents() failed!\n");
1083 FatalError(
"EnableUserModePnpManager() failed!\n");
1089 FatalError(
"CMP_WaitNoPendingInstallEvents() failed!\n");
1096 if (bResult ==
FALSE)
1145 DPRINT1(
"SetupInstallFromInfSectionW failed!\n");
1152 DPRINT1(
"Catching exception\n");
1159 ZeroMemory(&StartupInfo,
sizeof(StartupInfo));
1160 StartupInfo.
cb =
sizeof(StartupInfo);
1170 &ProcessInformation);
1182 L"Failed to load LiveCD! You can shutdown your computer, or press ENTER to reboot.",
1224 DPRINT(
"HotkeyThread start\n");
1262 DPRINT(
"HotkeyThread terminate\n");
1290 szCommonFilesDirPath,
1298 szProgramFilesDirPath,
1305 wcscpy(szBuffer, szProgramFilesDirPath);
1307 wcscat(szBuffer, szCommonFilesDirPath);
1310 szCommonFilesDirPath,
1318 L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion",
1333 (
LPBYTE)szProgramFilesDirPath,
1347 (
LPBYTE)szCommonFilesDirPath,
1407 {LOCALE_IDIGITSUBSTITUTION,
L"NumShape"},
1443 L".DEFAULT\\Control Panel\\International",
1499 DPRINT(
"SaveDefaultUserHive()\n");
1504 wcscat(szDefaultUserHive,
L"\\ntuser.dat");
1513 DPRINT1(
"RegOpenKeyExW() failed (Error %lu)\n", dwError);
1529 wcscpy(szBackupHive, szDefaultUserHive);
1538 DPRINT1(
"Failed to create a default-user hive backup '%S', MoveFileExW failed (Error %lu)\n",
1539 szBackupHive, dwError);
1552 DPRINT1(
"RegSaveKeyExW() failed (Error %lu)\n", dwError);
1581 FatalError(
"InitializeProgramFilesDir() failed");
1596 L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion",
1678 FatalError(
"LookupPrivilegeValue() failed!");
1690 FatalError(
"AdjustTokenPrivileges() failed!");
1775 SC_HANDLE hManager =
NULL;
1776 SC_HANDLE hService =
NULL;
1782 if (hManager ==
NULL)
1791 if (hService ==
NULL)
1804 if (hService !=
NULL)
1807 if (hManager !=
NULL)
static SERVICE_STATUS ServiceStatus
static LONG ReadRegSzKey(IN HKEY hKey, IN LPCWSTR pszKey, OUT LPWSTR *pValue)
static BOOL IsConsoleBoot(VOID)
BOOLEAN NTAPI RtlFreeHeap(IN PVOID HeapHandle, IN ULONG Flags, IN PVOID HeapBase)
#define RegCloseKey(hKey)
DWORD WINAPI CMP_WaitNoPendingInstallEvents(_In_ DWORD dwTimeout)
static HINSTANCE hDllInstance
#define ERROR_NOT_ENOUGH_MEMORY
BOOL WINAPI SHIM_OBJ_NAME() Notify(DWORD fdwReason, PVOID ptr)
static const WCHAR szDescription[]
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
LONG WINAPI RegSetValueExW(_In_ HKEY hKey, _In_ LPCWSTR lpValueName, _In_ DWORD Reserved, _In_ DWORD dwType, _In_ CONST BYTE *lpData, _In_ DWORD cbData)
LONG WINAPI RegSaveKeyExW(HKEY hKey, LPCWSTR lpFile, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD Flags)
LONG WINAPI RegQueryValueExW(_In_ HKEY hkeyorg, _In_ LPCWSTR name, _In_ LPDWORD reserved, _In_ LPDWORD type, _In_ LPBYTE data, _In_ LPDWORD count)
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)
#define ERROR_CALL_NOT_IMPLEMENTED
#define ERROR_INVALID_PARAMETER
#define INVALID_HANDLE_VALUE
#define GetCurrentProcess()
#define HeapFree(x, y, z)
static DWORD DWORD * dwLength
static void cleanup(void)
ATOM WINAPI GlobalDeleteAtom(ATOM nAtom)
ATOM WINAPI GlobalAddAtomW(LPCWSTR lpString)
DWORD WINAPI ExpandEnvironmentStringsW(IN LPCWSTR lpSrc, IN LPWSTR lpDst, IN DWORD nSize)
BOOL WINAPI CreateDirectoryW(IN LPCWSTR lpPathName, IN LPSECURITY_ATTRIBUTES lpSecurityAttributes)
BOOL WINAPI MoveFileExW(IN LPCWSTR lpExistingFileName, IN LPCWSTR lpNewFileName OPTIONAL, IN DWORD dwFlags)
UINT WINAPI GetSystemDirectoryW(OUT LPWSTR lpBuffer, IN UINT uSize)
DWORD WINAPI GetFullPathNameW(IN LPCWSTR lpFileName, IN DWORD nBufferLength, OUT LPWSTR lpBuffer, OUT LPWSTR *lpFilePart)
UINT WINAPI GetWindowsDirectoryW(OUT LPWSTR lpBuffer, IN UINT uSize)
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)
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 WINAPI GetPrivateProfileStringW(LPCWSTR section, LPCWSTR entry, LPCWSTR def_val, LPWSTR buffer, UINT len, LPCWSTR filename)
LANGID WINAPI GetUserDefaultLangID(void)
INT WINAPI GetLocaleInfoW(LCID lcid, LCTYPE lctype, LPWSTR buffer, INT len)
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
HRESULT WINAPI CoInitialize(LPVOID lpReserved)
void WINAPI DECLSPEC_HOTPATCH CoUninitialize(void)
BOOL WINAPI SetupDiInstallClassW(HWND hwndParent, PCWSTR InfFileName, DWORD Flags, HSPFILEQ FileQueue)
static const WCHAR CmdLine[]
BOOL WINAPI SetupInstallFromInfSectionW(HWND owner, HINF hinf, PCWSTR section, UINT flags, HKEY key_root, PCWSTR src_root, UINT copy_flags, PSP_FILE_CALLBACK_W callback, PVOID context, HDEVINFO devinfo, PSP_DEVINFO_DATA devinfo_data)
BOOL WINAPI pSetupEnablePrivilege(LPCWSTR lpPrivilegeName, BOOL bEnable)
HINF WINAPI SetupOpenInfFileW(PCWSTR name, PCWSTR class, DWORD style, UINT *error)
LONG WINAPI SetupGetLineCountW(HINF hinf, PCWSTR section)
UINT WINAPI SetupDefaultQueueCallbackW(PVOID context, UINT notification, UINT_PTR param1, UINT_PTR param2)
HRESULT WINAPI SHGetFolderPathW(HWND hwndOwner, int nFolder, HANDLE hToken, DWORD dwFlags, LPWSTR pszPath)
HRESULT WINAPI SHGetFolderPathAndSubDirW(HWND hwndOwner, int nFolder, HANDLE hToken, DWORD dwFlags, LPCWSTR pszSubPath, LPWSTR pszPath)
VOID SetAutoAdminLogon(VOID)
VOID InstallSecurity(VOID)
static BOOL CreateShortcut(LPCWSTR pszFolder, LPCWSTR pszName, LPCWSTR pszCommand, LPCWSTR pszDescription, INT iIconNr, LPCWSTR pszWorkingDir, LPCWSTR pszArgs)
static BOOL EnableUserModePnpManager(VOID)
DWORD WINAPI SetupChangeLocale(HWND hWnd, LCID Lcid)
static BOOL CreateShortcuts(_In_ PITEMSDATA pItemsData, _In_ PREGISTRATIONNOTIFY pNotify, _In_ HINF hinf, _In_ LPCWSTR szSection)
static VOID InitializeDefaultUserLocale(VOID)
static DWORD SaveDefaultUserHive(VOID)
struct _DLG_DATA * PDLG_DATA
static BOOL InstallSysSetupInfComponents(VOID)
static BOOL CommonInstall(VOID)
VOID EnableVisualTheme(_In_opt_ HWND hwndParent, _In_opt_ PCWSTR ThemeFile)
static INT_PTR CALLBACK StatusMessageWindowProc(IN HWND hwndDlg, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam)
static VOID PreprocessUnattend(_In_ BOOL IsInstall)
Pre-process unattended file to apply early settings.
static BOOL InstallSysSetupInfDevices(VOID)
DWORD WINAPI SetupStartService(LPCWSTR lpServiceName, BOOL bWait)
INT WINAPI InstallWindowsNt(INT argc, WCHAR **argv)
static HRESULT CreateShellLink(LPCWSTR pszLinkPath, LPCWSTR pszCmd, LPCWSTR pszArg, LPCWSTR pszDir, LPCWSTR pszIconPath, INT iIconNr, LPCWSTR pszComment)
static VOID CreateTempDir(IN LPCWSTR VarName)
static VOID AdjustStatusMessageWindow(HWND hwndDlg, PDLG_DATA pDlgData)
static DWORD WINAPI ShowStatusMessageThread(IN LPVOID lpParameter)
static BOOL SetSetupType(DWORD dwSetupType)
BOOL RegisterTypeLibraries(_In_ PITEMSDATA pItemsData, _In_ PREGISTRATIONNOTIFY pNotify, _In_ HINF hinf, _In_ LPCWSTR szSection)
static BOOL InitializeProgramFilesDir(VOID)
DWORD WINAPI SetupChangeFontSize(IN HANDLE hWnd, IN LPCWSTR lpszFontSize)
static DWORD CALLBACK HotkeyThread(LPVOID Parameter)
static VOID FatalError(char *pszFmt,...)
static DWORD InstallLiveCD(VOID)
VOID InstallStartMenuItems(_In_ PITEMSDATA pItemsData)
struct _DLG_DATA DLG_DATA
static DWORD InstallReactOS(VOID)
static LONG CountShortcuts(_In_ HINF hinf, _In_ LPCWSTR szSection)
static BOOL CreateShortcutsFromSection(_In_ PITEMSDATA pItemsData, _In_ PREGISTRATIONNOTIFY pNotify, _In_ HINF hinf, _In_ LPWSTR pszSection, _In_ LPCWSTR pszFolder)
DWORD WINAPI SetupChangeLocaleEx(HWND hWnd, LCID Lcid, LPCWSTR lpSrcRootPath, char Unknown, DWORD dwUnused1, DWORD dwUnused2)
#define IDD_STATUSWINDOW_DLG
#define IDS_STATUS_INSTALL_DEV
BOOL WINAPI CopySystemProfile(_In_ ULONG Unused)
BOOL WINAPI GetDefaultUserProfileDirectoryW(_Out_opt_ LPWSTR lpProfileDir, _Inout_ LPDWORD lpcchSize)
BOOL WINAPI InitializeProfiles(VOID)
static VOID BitBlt(_In_ ULONG Left, _In_ ULONG Top, _In_ ULONG Width, _In_ ULONG Height, _In_reads_bytes_(Delta *Height) PUCHAR Buffer, _In_ ULONG BitsPerPixel, _In_ ULONG Delta)
#define MOVEFILE_REPLACE_EXISTING
_Must_inspect_result_ _In_ PFSRTL_PER_STREAM_CONTEXT Ptr
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
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 token
int __cdecl vsprintf(char *_Dest, const char *_Format, va_list _Args)
_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)
#define EXCEPTION_EXECUTE_HANDLER
BOOL WINAPI InitializeSetupActionLog(BOOL bDeleteOldLogFile)
VOID WINAPI TerminateSetupActionLog(VOID)
#define ERROR_ALREADY_EXISTS
#define ERROR_FILE_NOT_FOUND
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
static PEXPLICIT_ACCESSW *static HMODULE hmod
#define UNREFERENCED_PARAMETER(P)
#define MAKEINTRESOURCE(i)
const GUID IID_IPersistFile
static const WCHAR szName[]
#define _SEH2_EXCEPT(...)
HRESULT __wine_register_resources(HMODULE module) DECLSPEC_HIDDEN
SC_HANDLE WINAPI OpenSCManagerW(LPCWSTR lpMachineName, LPCWSTR lpDatabaseName, DWORD dwDesiredAccess)
BOOL WINAPI QueryServiceStatusEx(SC_HANDLE hService, SC_STATUS_TYPE InfoLevel, LPBYTE lpBuffer, DWORD cbBufSize, LPDWORD pcbBytesNeeded)
SC_HANDLE WINAPI OpenServiceW(SC_HANDLE hSCManager, LPCWSTR lpServiceName, DWORD dwDesiredAccess)
BOOL WINAPI ChangeServiceConfigW(SC_HANDLE hService, DWORD dwServiceType, DWORD dwStartType, DWORD dwErrorControl, LPCWSTR lpBinaryPathName, LPCWSTR lpLoadOrderGroup, LPDWORD lpdwTagId, LPCWSTR lpDependencies, LPCWSTR lpServiceStartName, LPCWSTR lpPassword, LPCWSTR lpDisplayName)
BOOL WINAPI StartServiceW(SC_HANDLE hService, DWORD dwNumServiceArgs, LPCWSTR *lpServiceArgVectors)
BOOL WINAPI CloseServiceHandle(SC_HANDLE hSCObject)
_Check_return_ _CRTIMP int __cdecl _wcsicmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
static HRESULT InstallNetworkComponent(LPWSTR pszComponentName, const GUID *pClassGuid)
#define SetupFindFirstLine
#define CSIDL_FLAG_CREATE
LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY]
DWORD WINAPI WaitForSingleObject(IN HANDLE hHandle, IN DWORD dwMilliseconds)
VOID WINAPI DECLSPEC_HOTPATCH Sleep(IN DWORD dwMilliseconds)
#define LogItem(lpTag, lpMessageText...)
TW_UINT32 TW_UINT16 TW_UINT16 MSG
BOOL WINAPI SetupGetStringFieldW(IN PINFCONTEXT Context, IN ULONG FieldIndex, OUT PWSTR ReturnBuffer, IN ULONG ReturnBufferSize, OUT PULONG RequiredSize)
BOOL WINAPI SetupFindFirstLineW(IN HINF InfHandle, IN PCWSTR Section, IN PCWSTR Key, IN OUT PINFCONTEXT Context)
BOOL WINAPI SetupGetIntField(IN PINFCONTEXT Context, IN ULONG FieldIndex, OUT INT *IntegerValue)
ULONG WINAPI SetupGetFieldCount(IN PINFCONTEXT Context)
BOOL WINAPI SetupFindNextLine(IN PINFCONTEXT ContextIn, OUT PINFCONTEXT ContextOut)
VOID WINAPI SetupCloseInfFile(IN HINF InfHandle)
#define LookupPrivilegeValue
DWORD WINAPI GetLastError(void)
_In_ LPCSTR _In_opt_ LPCSTR _In_ DWORD _Out_opt_ LPSTR * lpFilePart
#define CREATE_NEW_CONSOLE
#define ERROR_SERVICE_ALREADY_RUNNING
void int int ULONGLONG int va_list * ap
int WINAPI GetObjectW(_In_ HANDLE h, _In_ int c, _Out_writes_bytes_opt_(c) LPVOID pv)
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
BOOL WINAPI DeleteDC(_In_ HDC)
#define LOCALE_ICURRDIGITS
#define LOCALE_IFIRSTWEEKOFYEAR
#define LOCALE_SSHORTDATE
#define LOCALE_SPOSITIVESIGN
#define LOCALE_SMONDECIMALSEP
#define LOCALE_SMONTHOUSANDSEP
#define LOCALE_NOUSEROVERRIDE
#define LOCALE_STIMEFORMAT
#define LOCALE_IFIRSTDAYOFWEEK
#define LOCALE_SABBREVLANGNAME
#define LOCALE_INEGNUMBER
#define LOCALE_SNEGATIVESIGN
#define LOCALE_SNATIVEDIGITS
#define LOCALE_ICALENDARTYPE
#define LOCALE_SMONGROUPING
#define LOCALE_ITIMEMARKPOSN
#define HKEY_LOCAL_MACHINE
#define SERVICE_QUERY_STATUS
#define SC_MANAGER_ENUMERATE_SERVICE
#define SERVICE_NO_CHANGE
#define SERVICE_CHANGE_CONFIG
#define SERVICE_START_PENDING
#define SC_MANAGER_ALL_ACCESS
struct tagDRAWITEMSTRUCT * LPDRAWITEMSTRUCT
#define GetWindowLongPtrW
BOOL WINAPI TranslateMessage(_In_ const MSG *)
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
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 UnregisterHotKey(_In_opt_ HWND, _In_ int)
int WINAPI MessageBoxA(_In_opt_ HWND hWnd, _In_opt_ LPCSTR lpText, _In_opt_ LPCSTR lpCaption, _In_ UINT uType)
HANDLE WINAPI LoadImageW(_In_opt_ HINSTANCE hInst, _In_ LPCWSTR name, _In_ UINT type, _In_ int cx, _In_ int cy, _In_ UINT fuLoad)
#define CreateDialogParam
BOOL WINAPI AdjustWindowRectEx(_Inout_ LPRECT, _In_ DWORD, _In_ BOOL, _In_ DWORD)
BOOL WINAPI SetDlgItemTextW(_In_ HWND, _In_ int, _In_ LPCWSTR)
#define PostThreadMessage
int WINAPI MapWindowPoints(_In_opt_ HWND hWndFrom, _In_opt_ HWND hWndTo, _Inout_updates_(cPoints) LPPOINT lpPoints, _In_ UINT cPoints)
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 GetClientRect(_In_ HWND, _Out_ LPRECT)
BOOL WINAPI RegisterHotKey(_In_opt_ HWND, _In_ int, _In_ UINT, _In_ UINT)
BOOL WINAPI UpdateWindow(_In_ HWND)
BOOL WINAPI ExitWindowsEx(_In_ UINT, _In_ DWORD)
BOOL WINAPI InvalidateRect(_In_opt_ HWND, _In_opt_ LPCRECT, _In_ BOOL)
#define MAKEINTRESOURCEW(i)
BOOL WINAPI KillTimer(_In_opt_ HWND, _In_ UINT_PTR)
#define SetWindowLongPtrW
BOOL WINAPI MoveWindow(_In_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ BOOL)
BOOL WINAPI SetRect(_Out_ LPRECT, _In_ int, _In_ int, _In_ int, _In_ int)
BOOL WINAPI EndDialog(_In_ HWND, _In_ INT_PTR)
#define SERVICE_AUTO_START
#define REG_STANDARD_FORMAT
_In_ CONST DEVPROPKEY _In_ LCID Lcid
_Inout_opt_ PVOID Parameter
#define TOKEN_ADJUST_PRIVILEGES
#define SE_PRIVILEGE_ENABLED