65 strcat(szBuffer,
"\nRebooting now!");
89 hr = IShellLinkW_SetPath(psl, pszCmd);
92 hr = IShellLinkW_SetArguments(psl, pszArg);
95 hr = IShellLinkW_SetWorkingDirectory(psl,
pszDir);
98 hr = IShellLinkW_SetIconLocation(psl, pszIconPath, iIconNr);
101 hr = IShellLinkW_SetDescription(psl, pszComment);
107 hr = IPersistFile_Save(ppf, pszLinkPath,
TRUE);
108 IPersistFile_Release(ppf);
111 IShellLinkW_Release(psl);
135 if (pszWorkingDir ==
NULL || pszWorkingDir[0] ==
L'\0')
144 if (dwLen != 0 && dwLen <=
ARRAYSIZE(szWorkingDirBuf))
155 szWorkingDirBuf[1] ==
L':' && szWorkingDirBuf[2] ==
L'\\'))
159 pszWorkingDir = szWorkingDirBuf;
164 if (pszWorkingDir && pszWorkingDir[0] ==
L'\0')
165 pszWorkingDir =
NULL;
178 (iIconNr != -1 ? pszCommand :
NULL),
211 if (dwFieldCount < 3)
227 szDirectory[0] =
L'\0';
331 DPRINT1(
"Failed to open shortcuts.inf");
348 DPRINT1(
"CreateShortcuts() failed");
356 DPRINT1(
"CreateShortcuts(rosapps) failed");
381 L"SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment",
428 WCHAR szLineBuffer[256];
432 L"DeviceInfsToInstall",
464 WCHAR szNameBuffer[256];
465 WCHAR szSectionBuffer[256];
473 DPRINT(
"No Inf.Always section found\n");
485 FatalError(
"Error while trying to get component name\n");
495 FatalError(
"Error while trying to get component install section\n");
499 DPRINT(
"Trying to execute install section '%S' from '%S'\n", szSectionBuffer, szNameBuffer);
574 FatalError(
"SHGetFolderPathW failed hret=0x%lx\n", hret);
581 if (pItemsData && pNotify)
584 pNotify->CurrentItem =
szName;
586 DPRINT(
"RegisterTypeLibraries: Start step %ld\n", pNotify->Progress);
599 if (pItemsData && pNotify)
601 DPRINT(
"RegisterTypeLibraries: End step %ld\n", pNotify->Progress);
614 SC_HANDLE hService =
NULL;
617 DWORD BytesNeeded, WaitTime;
622 DPRINT1(
"Unable to open the service control manager.\n");
630 if (hService ==
NULL)
632 DPRINT1(
"Unable to open PlugPlay service\n");
644 DPRINT1(
"Unable to change the service configuration\n");
651 DPRINT1(
"Unable to start service\n");
664 DPRINT1(
"QueryServiceStatusEx() failed for PlugPlay service (error 0x%x)\n",
GetLastError());
672 if (WaitTime < 1000) WaitTime = 1000;
673 else if (WaitTime > 10000) WaitTime = 10000;
680 DPRINT1(
"Failed to start PlugPlay service\n");
687 if (hService !=
NULL)
698 INT xNew, yNew, cxNew, cyNew;
699 INT cxLabel, cyLabel, dyLabel;
700 RECT rc, rcBar, rcLabel, rcWnd;
753 xNew = xOld - (cxNew -
cxOld) / 2;
754 yNew = yOld - (cyNew -
cyOld) / 2;
794 GetObject(pDlgData->hBarBitmap,
sizeof(bm), &bm);
795 pDlgData->BarWidth = bm.
bmWidth;
798 if (pDlgData->hLogoBitmap && pDlgData->hBarBitmap)
949 LPWSTR pwszCurrentOption, pwszNextOption;
954 L"SYSTEM\\CurrentControlSet\\Control",
961 rc =
ReadRegSzKey(hControlKey,
L"SystemStartOptions", &pwszSystemStartOptions);
966 pwszCurrentOption = pwszSystemStartOptions;
967 while (pwszCurrentOption)
969 pwszNextOption =
wcschr(pwszCurrentOption,
L' ');
971 *pwszNextOption =
L'\0';
972 if (
_wcsicmp(pwszCurrentOption,
L"CONSOLE") == 0)
974 DPRINT(
"Found %S. Switching to console boot\n", pwszCurrentOption);
978 pwszCurrentOption = pwszNextOption ? pwszNextOption + 1 :
NULL;
982 if (hControlKey !=
NULL)
984 if (pwszSystemStartOptions)
1002 szCmd[
cch - 1] =
L' ';
1028 BOOL bDefaultThemesOff;
1048 bDefaultThemesOff =
FALSE;
1050 bDefaultThemesOff = (
_wcsicmp(szValue,
L"yes") == 0);
1052 if (!bDefaultThemesOff)
1056 bDefaultThemesOff =
TRUE;
1084 FatalError(
"InstallSysSetupInfDevices() failed!\n");
1090 FatalError(
"InstallSysSetupInfComponents() failed!\n");
1106 FatalError(
"EnableUserModePnpManager() failed!\n");
1112 FatalError(
"CMP_WaitNoPendingInstallEvents() failed!\n");
1119 if (bResult ==
FALSE)
1168 DPRINT1(
"SetupInstallFromInfSectionW failed!\n");
1175 DPRINT1(
"Catching exception\n");
1182 ZeroMemory(&StartupInfo,
sizeof(StartupInfo));
1183 StartupInfo.
cb =
sizeof(StartupInfo);
1193 &ProcessInformation);
1205 L"Failed to load LiveCD! You can shutdown your computer, or press ENTER to reboot.",
1247 DPRINT(
"HotkeyThread start\n");
1285 DPRINT(
"HotkeyThread terminate\n");
1313 szCommonFilesDirPath,
1321 szProgramFilesDirPath,
1328 wcscpy(szBuffer, szProgramFilesDirPath);
1330 wcscat(szBuffer, szCommonFilesDirPath);
1333 szCommonFilesDirPath,
1341 L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion",
1356 (
LPBYTE)szProgramFilesDirPath,
1370 (
LPBYTE)szCommonFilesDirPath,
1430 {LOCALE_IDIGITSUBSTITUTION,
L"NumShape"},
1466 L".DEFAULT\\Control Panel\\International",
1522 DPRINT(
"SaveDefaultUserHive()\n");
1527 wcscat(szDefaultUserHive,
L"\\ntuser.dat");
1536 DPRINT1(
"RegOpenKeyExW() failed (Error %lu)\n", dwError);
1552 wcscpy(szBackupHive, szDefaultUserHive);
1561 DPRINT1(
"Failed to create a default-user hive backup '%S', MoveFileExW failed (Error %lu)\n",
1562 szBackupHive, dwError);
1575 DPRINT1(
"RegSaveKeyExW() failed (Error %lu)\n", dwError);
1605 FatalError(
"InitializeProgramFilesDir() failed");
1620 L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion",
1714 FatalError(
"LookupPrivilegeValue() failed!");
1726 FatalError(
"AdjustTokenPrivileges() failed!");
1811 SC_HANDLE hManager =
NULL;
1812 SC_HANDLE hService =
NULL;
1818 if (hManager ==
NULL)
1827 if (hService ==
NULL)
1840 if (hService !=
NULL)
1843 if (hManager !=
NULL)
HRESULT __wine_register_resources(HMODULE module)
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)
void WINAPI DECLSPEC_HOTPATCH CoUninitialize(void)
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, IUnknown *outer, DWORD cls_context, REFIID riid, void **obj)
#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)
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)
_ACRTIMP __msvcrt_ulong __cdecl wcstoul(const wchar_t *, wchar_t **, int)
_ACRTIMP int __cdecl _wcsicmp(const wchar_t *, const wchar_t *)
_ACRTIMP size_t __cdecl wcslen(const wchar_t *)
_ACRTIMP int __cdecl _ACRTIMP int __cdecl _ACRTIMP int __cdecl _ACRTIMP int __cdecl _ACRTIMP int __cdecl _ACRTIMP int __cdecl _ACRTIMP int __cdecl _ACRTIMP int __cdecl _ACRTIMP int __cdecl _ACRTIMP int __cdecl _ACRTIMP int __cdecl _ACRTIMP int __cdecl _ACRTIMP int __cdecl _ACRTIMP int __cdecl _ACRTIMP int __cdecl vsprintf(char *, const char *, va_list) __WINE_CRT_PRINTF_ATTR(2
HRESULT WINAPI CoInitialize(LPVOID lpReserved)
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 GetSetupInfPath(PWSTR szPath, UINT cchMax)
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)
static VOID ProcessDetachedProgram(_In_ PCWSTR pszInf)
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_(Height *Stride) PUCHAR Buffer, _In_ ULONG BitsPerPixel, _In_ ULONG Stride)
#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
#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 NTSTATUS *static PWSTR CURDIR *static HMODULE hmod
static PROCESS_INFORMATION pi
#define UNREFERENCED_PARAMETER(P)
#define MAKEINTRESOURCE(i)
const GUID IID_IPersistFile
static const WCHAR szName[]
_In_opt_ _In_opt_ _In_ _In_ DWORD cbData
#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
#define _SEH2_EXCEPT(...)
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)
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)
HRESULT RunCommandAndWait(_In_ PWCHAR Command)
#define LookupPrivilegeValue
DWORD WINAPI GetLastError(void)
#define ExpandEnvironmentStrings
_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
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)
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