mirror of
https://github.com/reactos/reactos.git
synced 2025-08-06 23:53:11 +00:00
* Sync up to trunk HEAD (r62502).
svn path=/branches/shell-experiments/; revision=62503
This commit is contained in:
commit
f4388e723d
442 changed files with 16244 additions and 5506 deletions
|
@ -1617,12 +1617,13 @@ DWORD RSetServiceStatus(
|
|||
{
|
||||
PSERVICE lpService;
|
||||
DWORD dwPreviousState;
|
||||
DWORD dwPreviousType;
|
||||
LPCWSTR lpErrorStrings[2];
|
||||
WCHAR szErrorBuffer[32];
|
||||
|
||||
DPRINT("RSetServiceStatus() called\n");
|
||||
DPRINT("hServiceStatus = %lu\n", hServiceStatus);
|
||||
DPRINT("dwServiceType = %lu\n", lpServiceStatus->dwServiceType);
|
||||
DPRINT("dwServiceType = 0x%lx\n", lpServiceStatus->dwServiceType);
|
||||
DPRINT("dwCurrentState = %lu\n", lpServiceStatus->dwCurrentState);
|
||||
DPRINT("dwControlsAccepted = %lu\n", lpServiceStatus->dwControlsAccepted);
|
||||
DPRINT("dwWin32ExitCode = %lu\n", lpServiceStatus->dwWin32ExitCode);
|
||||
|
@ -1660,16 +1661,33 @@ DWORD RSetServiceStatus(
|
|||
return ERROR_INVALID_DATA;
|
||||
}
|
||||
|
||||
/* Set the wait hint and check point only if the service is in a pending state,
|
||||
otherwise they should be 0 */
|
||||
if (lpServiceStatus->dwCurrentState == SERVICE_STOPPED ||
|
||||
lpServiceStatus->dwCurrentState == SERVICE_PAUSED ||
|
||||
lpServiceStatus->dwCurrentState == SERVICE_RUNNING)
|
||||
{
|
||||
lpServiceStatus->dwWaitHint = 0;
|
||||
lpServiceStatus->dwCheckPoint = 0;
|
||||
}
|
||||
|
||||
/* Lock the service database exclusively */
|
||||
ScmLockDatabaseExclusive();
|
||||
|
||||
/* Save the current service state */
|
||||
dwPreviousState = lpService->Status.dwCurrentState;
|
||||
|
||||
/* Save the current service type */
|
||||
dwPreviousType = lpService->Status.dwServiceType;
|
||||
|
||||
/* Update the service status */
|
||||
RtlCopyMemory(&lpService->Status,
|
||||
lpServiceStatus,
|
||||
sizeof(SERVICE_STATUS));
|
||||
|
||||
/* Restore the previous service type */
|
||||
lpService->Status.dwServiceType = dwPreviousType;
|
||||
|
||||
/* Unlock the service database */
|
||||
ScmUnlockDatabase();
|
||||
|
||||
|
@ -1755,7 +1773,7 @@ DWORD RChangeServiceConfigW(
|
|||
LPWSTR lpImagePathW = NULL;
|
||||
|
||||
DPRINT("RChangeServiceConfigW() called\n");
|
||||
DPRINT("dwServiceType = %lu\n", dwServiceType);
|
||||
DPRINT("dwServiceType = 0x%lx\n", dwServiceType);
|
||||
DPRINT("dwStartType = %lu\n", dwStartType);
|
||||
DPRINT("dwErrorControl = %lu\n", dwErrorControl);
|
||||
DPRINT("lpBinaryPathName = %S\n", lpBinaryPathName);
|
||||
|
@ -1999,7 +2017,7 @@ DWORD RCreateServiceW(
|
|||
DPRINT("lpServiceName = %S\n", lpServiceName);
|
||||
DPRINT("lpDisplayName = %S\n", lpDisplayName);
|
||||
DPRINT("dwDesiredAccess = %lx\n", dwDesiredAccess);
|
||||
DPRINT("dwServiceType = %lu\n", dwServiceType);
|
||||
DPRINT("dwServiceType = 0x%lx\n", dwServiceType);
|
||||
DPRINT("dwStartType = %lu\n", dwStartType);
|
||||
DPRINT("dwErrorControl = %lu\n", dwErrorControl);
|
||||
DPRINT("lpBinaryPathName = %S\n", lpBinaryPathName);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue