mirror of
https://github.com/reactos/reactos.git
synced 2024-10-04 16:36:11 +00:00
[SERVICES]
Correct behaviour of setting the service description. Patch by Hermès Bélusca. See issue #7124 for more details. svn path=/trunk/; revision=56740
This commit is contained in:
parent
25dcec8bf3
commit
235dd0a6d6
|
@ -5088,22 +5088,35 @@ DWORD RChangeServiceConfig2W(
|
|||
|
||||
if (Info.dwInfoLevel == SERVICE_CONFIG_DESCRIPTION)
|
||||
{
|
||||
LPSERVICE_DESCRIPTIONW lpServiceDescription;
|
||||
|
||||
lpServiceDescription = (LPSERVICE_DESCRIPTIONW)Info.psd;
|
||||
LPSERVICE_DESCRIPTIONW lpServiceDescription = (LPSERVICE_DESCRIPTIONW)Info.psd;
|
||||
|
||||
/* Modify the service description, if specified */
|
||||
if (lpServiceDescription != NULL &&
|
||||
lpServiceDescription->lpDescription != NULL)
|
||||
{
|
||||
DPRINT("Setting value %S\n", lpServiceDescription->lpDescription);
|
||||
dwError = RegSetValueExW(hServiceKey,
|
||||
L"Description",
|
||||
0,
|
||||
REG_SZ,
|
||||
(LPBYTE)lpServiceDescription->lpDescription,
|
||||
(wcslen(lpServiceDescription->lpDescription) + 1) * sizeof(WCHAR));
|
||||
if (dwError != ERROR_SUCCESS)
|
||||
goto done;
|
||||
/* If the description is "" then we delete it */
|
||||
if (*lpServiceDescription->lpDescription == 0)
|
||||
{
|
||||
DPRINT("Delete service description\n");
|
||||
dwError = RegDeleteValueW(hServiceKey, L"Description");
|
||||
|
||||
if (dwError == ERROR_FILE_NOT_FOUND)
|
||||
dwError = ERROR_SUCCESS;
|
||||
}
|
||||
else
|
||||
{
|
||||
DPRINT("Setting service description value %S\n", lpServiceDescription->lpDescription);
|
||||
dwError = RegSetValueExW(hServiceKey,
|
||||
L"Description",
|
||||
0,
|
||||
REG_SZ,
|
||||
(LPBYTE)lpServiceDescription->lpDescription,
|
||||
(wcslen(lpServiceDescription->lpDescription) + 1) * sizeof(WCHAR));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
dwError = ERROR_SUCCESS;
|
||||
}
|
||||
}
|
||||
else if (Info.dwInfoLevel == SERVICE_CONFIG_FAILURE_ACTIONS)
|
||||
|
|
Loading…
Reference in a new issue