Use R- prefix instead of Scmr- prefix for service RPC calls

svn path=/trunk/; revision=32908
This commit is contained in:
Hervé Poussineau 2008-04-10 16:39:01 +00:00
parent 960bf32989
commit bf17b94f76
4 changed files with 412 additions and 414 deletions

View file

@ -236,13 +236,13 @@ ScmAssignNewTag(PSERVICE lpService)
/* Function 0 */ /* Function 0 */
DWORD ScmrCloseServiceHandle( DWORD RCloseServiceHandle(
handle_t BindingHandle, handle_t BindingHandle,
LPSC_RPC_HANDLE hSCObject) LPSC_RPC_HANDLE hSCObject)
{ {
PMANAGER_HANDLE hManager; PMANAGER_HANDLE hManager;
DPRINT("ScmrCloseServiceHandle() called\n"); DPRINT("RCloseServiceHandle() called\n");
DPRINT("hSCObject = %p\n", *hSCObject); DPRINT("hSCObject = %p\n", *hSCObject);
@ -262,7 +262,7 @@ DWORD ScmrCloseServiceHandle(
HeapFree(GetProcessHeap(), 0, hManager); HeapFree(GetProcessHeap(), 0, hManager);
} }
DPRINT("ScmrCloseServiceHandle() done\n"); DPRINT("RCloseServiceHandle() done\n");
return ERROR_SUCCESS; return ERROR_SUCCESS;
} }
else if (hManager->Handle.Tag == SERVICE_TAG) else if (hManager->Handle.Tag == SERVICE_TAG)
@ -277,7 +277,7 @@ DWORD ScmrCloseServiceHandle(
HeapFree(GetProcessHeap(), 0, hManager); HeapFree(GetProcessHeap(), 0, hManager);
} }
DPRINT("ScmrCloseServiceHandle() done\n"); DPRINT("RCloseServiceHandle() done\n");
return ERROR_SUCCESS; return ERROR_SUCCESS;
} }
@ -288,7 +288,7 @@ DWORD ScmrCloseServiceHandle(
/* Function 1 */ /* Function 1 */
DWORD ScmrControlService( DWORD RControlService(
handle_t BindingHandle, handle_t BindingHandle,
SC_RPC_HANDLE hService, SC_RPC_HANDLE hService,
DWORD dwControl, DWORD dwControl,
@ -299,7 +299,7 @@ DWORD ScmrControlService(
ACCESS_MASK DesiredAccess; ACCESS_MASK DesiredAccess;
DWORD dwError = ERROR_SUCCESS; DWORD dwError = ERROR_SUCCESS;
DPRINT("ScmrControlService() called\n"); DPRINT("RControlService() called\n");
if (ScmShutdown) if (ScmShutdown)
return ERROR_SHUTDOWN_IN_PROGRESS; return ERROR_SHUTDOWN_IN_PROGRESS;
@ -377,7 +377,7 @@ DWORD ScmrControlService(
/* Function 2 */ /* Function 2 */
DWORD ScmrDeleteService( DWORD RDeleteService(
handle_t BindingHandle, handle_t BindingHandle,
SC_RPC_HANDLE hService) SC_RPC_HANDLE hService)
{ {
@ -385,7 +385,7 @@ DWORD ScmrDeleteService(
PSERVICE lpService; PSERVICE lpService;
DWORD dwError; DWORD dwError;
DPRINT("ScmrDeleteService() called\n"); DPRINT("RDeleteService() called\n");
if (ScmShutdown) if (ScmShutdown)
return ERROR_SHUTDOWN_IN_PROGRESS; return ERROR_SHUTDOWN_IN_PROGRESS;
@ -420,21 +420,21 @@ DWORD ScmrDeleteService(
/* FIXME: Release service database lock */ /* FIXME: Release service database lock */
DPRINT("ScmrDeleteService() done\n"); DPRINT("RDeleteService() done\n");
return dwError; return dwError;
} }
/* Function 3 */ /* Function 3 */
DWORD ScmrLockServiceDatabase( DWORD RLockServiceDatabase(
handle_t BindingHandle, handle_t BindingHandle,
SC_RPC_HANDLE hSCManager, SC_RPC_HANDLE hSCManager,
LPSC_RPC_LOCK lpLock) LPSC_RPC_LOCK lpLock)
{ {
PMANAGER_HANDLE hMgr; PMANAGER_HANDLE hMgr;
DPRINT("ScmrLockServiceDatabase() called\n"); DPRINT("RLockServiceDatabase() called\n");
*lpLock = 0; *lpLock = 0;
@ -456,7 +456,7 @@ DWORD ScmrLockServiceDatabase(
/* Function 4 */ /* Function 4 */
DWORD ScmrQueryServiceObjectSecurity( DWORD RQueryServiceObjectSecurity(
handle_t BindingHandle, handle_t BindingHandle,
SC_RPC_HANDLE hService, SC_RPC_HANDLE hService,
SECURITY_INFORMATION dwSecurityInformation, SECURITY_INFORMATION dwSecurityInformation,
@ -472,7 +472,7 @@ DWORD ScmrQueryServiceObjectSecurity(
DWORD dwBytesNeeded; DWORD dwBytesNeeded;
DWORD dwError; DWORD dwError;
DPRINT("ScmrQueryServiceObjectSecurity() called\n"); DPRINT("RQueryServiceObjectSecurity() called\n");
hSvc = (PSERVICE_HANDLE)hService; hSvc = (PSERVICE_HANDLE)hService;
if (!hSvc || hSvc->Handle.Tag != SERVICE_TAG) if (!hSvc || hSvc->Handle.Tag != SERVICE_TAG)
@ -540,7 +540,7 @@ DWORD ScmrQueryServiceObjectSecurity(
/* Function 5 */ /* Function 5 */
DWORD ScmrSetServiceObjectSecurity( DWORD RSetServiceObjectSecurity(
handle_t BindingHandle, handle_t BindingHandle,
SC_RPC_HANDLE hService, SC_RPC_HANDLE hService,
DWORD dwSecurityInformation, DWORD dwSecurityInformation,
@ -555,7 +555,7 @@ DWORD ScmrSetServiceObjectSecurity(
NTSTATUS Status; NTSTATUS Status;
DWORD dwError; DWORD dwError;
DPRINT1("ScmrSetServiceObjectSecurity() called\n"); DPRINT1("RSetServiceObjectSecurity() called\n");
hSvc = (PSERVICE_HANDLE)hService; hSvc = (PSERVICE_HANDLE)hService;
if (!hSvc || hSvc->Handle.Tag != SERVICE_TAG) if (!hSvc || hSvc->Handle.Tag != SERVICE_TAG)
@ -653,14 +653,14 @@ Done:
/* FIXME: Unlock service database */ /* FIXME: Unlock service database */
DPRINT("ScmrSetServiceObjectSecurity() done (Error %lu)\n", dwError); DPRINT("RSetServiceObjectSecurity() done (Error %lu)\n", dwError);
return dwError; return dwError;
} }
/* Function 6 */ /* Function 6 */
DWORD ScmrQueryServiceStatus( DWORD RQueryServiceStatus(
handle_t BindingHandle, handle_t BindingHandle,
SC_RPC_HANDLE hService, SC_RPC_HANDLE hService,
LPSERVICE_STATUS lpServiceStatus) LPSERVICE_STATUS lpServiceStatus)
@ -668,7 +668,7 @@ DWORD ScmrQueryServiceStatus(
PSERVICE_HANDLE hSvc; PSERVICE_HANDLE hSvc;
PSERVICE lpService; PSERVICE lpService;
DPRINT("ScmrQueryServiceStatus() called\n"); DPRINT("RQueryServiceStatus() called\n");
if (ScmShutdown) if (ScmShutdown)
return ERROR_SHUTDOWN_IN_PROGRESS; return ERROR_SHUTDOWN_IN_PROGRESS;
@ -704,14 +704,14 @@ DWORD ScmrQueryServiceStatus(
/* Function 7 */ /* Function 7 */
DWORD ScmrSetServiceStatus( DWORD RSetServiceStatus(
handle_t BindingHandle, handle_t BindingHandle,
SC_RPC_HANDLE hServiceStatus, SC_RPC_HANDLE hServiceStatus,
LPSERVICE_STATUS lpServiceStatus) LPSERVICE_STATUS lpServiceStatus)
{ {
PSERVICE lpService; PSERVICE lpService;
DPRINT("ScmrSetServiceStatus() called\n"); DPRINT("RSetServiceStatus() called\n");
if (ScmShutdown) if (ScmShutdown)
return ERROR_SHUTDOWN_IN_PROGRESS; return ERROR_SHUTDOWN_IN_PROGRESS;
@ -728,14 +728,14 @@ DWORD ScmrSetServiceStatus(
sizeof(SERVICE_STATUS)); sizeof(SERVICE_STATUS));
DPRINT("Set %S to %lu\n", lpService->lpDisplayName, lpService->Status.dwCurrentState); DPRINT("Set %S to %lu\n", lpService->lpDisplayName, lpService->Status.dwCurrentState);
DPRINT("ScmrSetServiceStatus() done\n"); DPRINT("RSetServiceStatus() done\n");
return ERROR_SUCCESS; return ERROR_SUCCESS;
} }
/* Function 8 */ /* Function 8 */
DWORD ScmrUnlockServiceDatabase( DWORD RUnlockServiceDatabase(
handle_t BindingHandle, handle_t BindingHandle,
LPSC_RPC_LOCK Lock) LPSC_RPC_LOCK Lock)
{ {
@ -745,7 +745,7 @@ DWORD ScmrUnlockServiceDatabase(
/* Function 9 */ /* Function 9 */
DWORD ScmrNotifyBootConfigStatus( DWORD RNotifyBootConfigStatus(
handle_t BindingHandle, handle_t BindingHandle,
SVCCTL_HANDLEW lpMachineName, SVCCTL_HANDLEW lpMachineName,
DWORD BootAcceptable) DWORD BootAcceptable)
@ -756,7 +756,7 @@ DWORD ScmrNotifyBootConfigStatus(
/* Function 10 */ /* Function 10 */
DWORD ScmrSetServiceBitsW( DWORD RSetServiceBitsW(
handle_t BindingHandle, handle_t BindingHandle,
SC_RPC_HANDLE hServiceStatus, SC_RPC_HANDLE hServiceStatus,
DWORD dwServiceBits, DWORD dwServiceBits,
@ -770,7 +770,7 @@ DWORD ScmrSetServiceBitsW(
/* Function 11 */ /* Function 11 */
DWORD ScmrChangeServiceConfigW( DWORD RChangeServiceConfigW(
handle_t BindingHandle, handle_t BindingHandle,
SC_RPC_HANDLE hService, SC_RPC_HANDLE hService,
DWORD dwServiceType, DWORD dwServiceType,
@ -791,7 +791,7 @@ DWORD ScmrChangeServiceConfigW(
PSERVICE lpService = NULL; PSERVICE lpService = NULL;
HKEY hServiceKey = NULL; HKEY hServiceKey = NULL;
DPRINT("ScmrChangeServiceConfigW() called\n"); DPRINT("RChangeServiceConfigW() called\n");
DPRINT("dwServiceType = %lu\n", dwServiceType); DPRINT("dwServiceType = %lu\n", dwServiceType);
DPRINT("dwStartType = %lu\n", dwStartType); DPRINT("dwStartType = %lu\n", dwStartType);
DPRINT("dwErrorControl = %lu\n", dwErrorControl); DPRINT("dwErrorControl = %lu\n", dwErrorControl);
@ -984,7 +984,7 @@ done:
if (hServiceKey != NULL) if (hServiceKey != NULL)
RegCloseKey(hServiceKey); RegCloseKey(hServiceKey);
DPRINT("ScmrChangeServiceConfigW() done (Error %lu)\n", dwError); DPRINT("RChangeServiceConfigW() done (Error %lu)\n", dwError);
return dwError; return dwError;
} }
@ -1365,7 +1365,7 @@ ScmCanonDriverImagePath(DWORD dwStartType,
/* Function 12 */ /* Function 12 */
DWORD ScmrCreateServiceW( DWORD RCreateServiceW(
handle_t BindingHandle, handle_t BindingHandle,
SC_RPC_HANDLE hSCManager, SC_RPC_HANDLE hSCManager,
LPWSTR lpServiceName, LPWSTR lpServiceName,
@ -1391,7 +1391,7 @@ DWORD ScmrCreateServiceW(
LPWSTR lpImagePath = NULL; LPWSTR lpImagePath = NULL;
HKEY hServiceKey = NULL; HKEY hServiceKey = NULL;
DPRINT("ScmrCreateServiceW() called\n"); DPRINT("RCreateServiceW() called\n");
DPRINT("lpServiceName = %S\n", lpServiceName); DPRINT("lpServiceName = %S\n", lpServiceName);
DPRINT("lpDisplayName = %S\n", lpDisplayName); DPRINT("lpDisplayName = %S\n", lpDisplayName);
DPRINT("dwDesiredAccess = %lx\n", dwDesiredAccess); DPRINT("dwDesiredAccess = %lx\n", dwDesiredAccess);
@ -1633,14 +1633,14 @@ done:;
if (lpImagePath != NULL) if (lpImagePath != NULL)
HeapFree(GetProcessHeap(), 0, lpImagePath); HeapFree(GetProcessHeap(), 0, lpImagePath);
DPRINT("ScmrCreateServiceW() done (Error %lu)\n", dwError); DPRINT("RCreateServiceW() done (Error %lu)\n", dwError);
return dwError; return dwError;
} }
/* Function 13 */ /* Function 13 */
DWORD ScmrEnumDependentServicesW( DWORD REnumDependentServicesW(
handle_t BindingHandle, handle_t BindingHandle,
SC_RPC_HANDLE hService, SC_RPC_HANDLE hService,
DWORD dwServiceState, DWORD dwServiceState,
@ -1655,14 +1655,14 @@ DWORD ScmrEnumDependentServicesW(
*pcbBytesNeeded = 0; *pcbBytesNeeded = 0;
*lpServicesReturned = 0; *lpServicesReturned = 0;
DPRINT1("ScmrEnumDependentServicesW() done (Error %lu)\n", dwError); DPRINT1("REnumDependentServicesW() done (Error %lu)\n", dwError);
return dwError; return dwError;
} }
/* Function 14 */ /* Function 14 */
DWORD ScmrEnumServicesStatusW( DWORD REnumServicesStatusW(
handle_t BindingHandle, handle_t BindingHandle,
SC_RPC_HANDLE hSCManager, SC_RPC_HANDLE hSCManager,
DWORD dwServiceType, DWORD dwServiceType,
@ -1686,7 +1686,7 @@ DWORD ScmrEnumServicesStatusW(
LPENUM_SERVICE_STATUSW lpStatusPtr; LPENUM_SERVICE_STATUSW lpStatusPtr;
LPWSTR lpStringPtr; LPWSTR lpStringPtr;
DPRINT("ScmrEnumServicesStatusW() called\n"); DPRINT("REnumServicesStatusW() called\n");
if (ScmShutdown) if (ScmShutdown)
return ERROR_SHUTDOWN_IN_PROGRESS; return ERROR_SHUTDOWN_IN_PROGRESS;
@ -1854,14 +1854,14 @@ DWORD ScmrEnumServicesStatusW(
Done:; Done:;
/* FIXME: Unlock the service list */ /* FIXME: Unlock the service list */
DPRINT("ScmrEnumServicesStatusW() done (Error %lu)\n", dwError); DPRINT("REnumServicesStatusW() done (Error %lu)\n", dwError);
return dwError; return dwError;
} }
/* Function 15 */ /* Function 15 */
DWORD ScmrOpenSCManagerW( DWORD ROpenSCManagerW(
handle_t BindingHandle, handle_t BindingHandle,
LPWSTR lpMachineName, LPWSTR lpMachineName,
LPWSTR lpDatabaseName, LPWSTR lpDatabaseName,
@ -1871,7 +1871,7 @@ DWORD ScmrOpenSCManagerW(
DWORD dwError; DWORD dwError;
SC_HANDLE hHandle; SC_HANDLE hHandle;
DPRINT("ScmrOpenSCManagerW() called\n"); DPRINT("ROpenSCManagerW() called\n");
DPRINT("lpMachineName = %p\n", lpMachineName); DPRINT("lpMachineName = %p\n", lpMachineName);
DPRINT("lpMachineName: %S\n", lpMachineName); DPRINT("lpMachineName: %S\n", lpMachineName);
DPRINT("lpDataBaseName = %p\n", lpDatabaseName); DPRINT("lpDataBaseName = %p\n", lpDatabaseName);
@ -1905,14 +1905,14 @@ DWORD ScmrOpenSCManagerW(
*lpScHandle = (unsigned long)hHandle; /* FIXME: 64 bit portability */ *lpScHandle = (unsigned long)hHandle; /* FIXME: 64 bit portability */
DPRINT("*hScm = %p\n", *lpScHandle); DPRINT("*hScm = %p\n", *lpScHandle);
DPRINT("ScmrOpenSCManagerW() done\n"); DPRINT("ROpenSCManagerW() done\n");
return ERROR_SUCCESS; return ERROR_SUCCESS;
} }
/* Function 16 */ /* Function 16 */
DWORD ScmrOpenServiceW( DWORD ROpenServiceW(
handle_t BindingHandle, handle_t BindingHandle,
SC_RPC_HANDLE hSCManager, SC_RPC_HANDLE hSCManager,
LPWSTR lpServiceName, LPWSTR lpServiceName,
@ -1924,7 +1924,7 @@ DWORD ScmrOpenServiceW(
SC_HANDLE hHandle; SC_HANDLE hHandle;
DWORD dwError; DWORD dwError;
DPRINT("ScmrOpenServiceW() called\n"); DPRINT("ROpenServiceW() called\n");
DPRINT("hSCManager = %p\n", hSCManager); DPRINT("hSCManager = %p\n", hSCManager);
DPRINT("lpServiceName = %p\n", lpServiceName); DPRINT("lpServiceName = %p\n", lpServiceName);
DPRINT("lpServiceName: %S\n", lpServiceName); DPRINT("lpServiceName: %S\n", lpServiceName);
@ -1975,14 +1975,14 @@ DWORD ScmrOpenServiceW(
*lpServiceHandle = (unsigned long)hHandle; /* FIXME: 64 bit portability */ *lpServiceHandle = (unsigned long)hHandle; /* FIXME: 64 bit portability */
DPRINT("*hService = %p\n", *lpServiceHandle); DPRINT("*hService = %p\n", *lpServiceHandle);
DPRINT("ScmrOpenServiceW() done\n"); DPRINT("ROpenServiceW() done\n");
return ERROR_SUCCESS; return ERROR_SUCCESS;
} }
/* Function 17 */ /* Function 17 */
DWORD ScmrQueryServiceConfigW( DWORD RQueryServiceConfigW(
handle_t BindingHandle, handle_t BindingHandle,
SC_RPC_HANDLE hService, SC_RPC_HANDLE hService,
LPBYTE lpBuf, //LPQUERY_SERVICE_CONFIGW lpServiceConfig, LPBYTE lpBuf, //LPQUERY_SERVICE_CONFIGW lpServiceConfig,
@ -2000,7 +2000,7 @@ DWORD ScmrQueryServiceConfigW(
LPQUERY_SERVICE_CONFIGW lpConfig; LPQUERY_SERVICE_CONFIGW lpConfig;
LPWSTR lpStr; LPWSTR lpStr;
DPRINT("ScmrQueryServiceConfigW() called\n"); DPRINT("RQueryServiceConfigW() called\n");
if (ScmShutdown) if (ScmShutdown)
return ERROR_SHUTDOWN_IN_PROGRESS; return ERROR_SHUTDOWN_IN_PROGRESS;
@ -2136,14 +2136,14 @@ Done:;
/* FIXME: Unlock the service database */ /* FIXME: Unlock the service database */
DPRINT("ScmrQueryServiceConfigW() done\n"); DPRINT("RQueryServiceConfigW() done\n");
return dwError; return dwError;
} }
/* Function 18 */ /* Function 18 */
DWORD ScmrQueryServiceLockStatusW( DWORD RQueryServiceLockStatusW(
handle_t BindingHandle, handle_t BindingHandle,
SC_RPC_HANDLE hSCManager, SC_RPC_HANDLE hSCManager,
LPQUERY_SERVICE_LOCK_STATUSW lpLockStatus, LPQUERY_SERVICE_LOCK_STATUSW lpLockStatus,
@ -2156,7 +2156,7 @@ DWORD ScmrQueryServiceLockStatusW(
/* Function 19 */ /* Function 19 */
DWORD ScmrStartServiceW( DWORD RStartServiceW(
handle_t BindingHandle, handle_t BindingHandle,
SC_RPC_HANDLE hService, SC_RPC_HANDLE hService,
DWORD argc, DWORD argc,
@ -2166,7 +2166,7 @@ DWORD ScmrStartServiceW(
PSERVICE_HANDLE hSvc; PSERVICE_HANDLE hSvc;
PSERVICE lpService = NULL; PSERVICE lpService = NULL;
DPRINT("ScmrStartServiceW() called\n"); DPRINT("RStartServiceW() called\n");
if (ScmShutdown) if (ScmShutdown)
return ERROR_SHUTDOWN_IN_PROGRESS; return ERROR_SHUTDOWN_IN_PROGRESS;
@ -2211,7 +2211,7 @@ DWORD ScmrStartServiceW(
/* Function 20 */ /* Function 20 */
DWORD ScmrGetServiceDisplayNameW( DWORD RGetServiceDisplayNameW(
handle_t BindingHandle, handle_t BindingHandle,
SC_RPC_HANDLE hSCManager, SC_RPC_HANDLE hSCManager,
LPWSTR lpServiceName, LPWSTR lpServiceName,
@ -2223,7 +2223,7 @@ DWORD ScmrGetServiceDisplayNameW(
DWORD dwLength; DWORD dwLength;
DWORD dwError; DWORD dwError;
DPRINT("ScmrGetServiceDisplayNameW() called\n"); DPRINT("RGetServiceDisplayNameW() called\n");
DPRINT("hSCManager = %p\n", hSCManager); DPRINT("hSCManager = %p\n", hSCManager);
DPRINT("lpServiceName: %S\n", lpServiceName); DPRINT("lpServiceName: %S\n", lpServiceName);
DPRINT("lpDisplayName: %p\n", lpDisplayName); DPRINT("lpDisplayName: %p\n", lpDisplayName);
@ -2261,7 +2261,7 @@ DWORD ScmrGetServiceDisplayNameW(
/* Function 21 */ /* Function 21 */
DWORD ScmrGetServiceKeyNameW( DWORD RGetServiceKeyNameW(
handle_t BindingHandle, handle_t BindingHandle,
SC_RPC_HANDLE hSCManager, SC_RPC_HANDLE hSCManager,
LPWSTR lpDisplayName, LPWSTR lpDisplayName,
@ -2273,7 +2273,7 @@ DWORD ScmrGetServiceKeyNameW(
DWORD dwLength; DWORD dwLength;
DWORD dwError; DWORD dwError;
DPRINT("ScmrGetServiceKeyNameW() called\n"); DPRINT("RGetServiceKeyNameW() called\n");
DPRINT("hSCManager = %p\n", hSCManager); DPRINT("hSCManager = %p\n", hSCManager);
DPRINT("lpDisplayName: %S\n", lpDisplayName); DPRINT("lpDisplayName: %S\n", lpDisplayName);
DPRINT("lpServiceName: %p\n", lpServiceName); DPRINT("lpServiceName: %p\n", lpServiceName);
@ -2311,7 +2311,7 @@ DWORD ScmrGetServiceKeyNameW(
/* Function 22 */ /* Function 22 */
DWORD ScmrSetServiceBitsA( DWORD RSetServiceBitsA(
handle_t BindingHandle, handle_t BindingHandle,
SC_RPC_HANDLE hServiceStatus, SC_RPC_HANDLE hServiceStatus,
DWORD dwServiceBits, DWORD dwServiceBits,
@ -2325,7 +2325,7 @@ DWORD ScmrSetServiceBitsA(
/* Function 23 */ /* Function 23 */
DWORD ScmrChangeServiceConfigA( DWORD RChangeServiceConfigA(
handle_t BindingHandle, handle_t BindingHandle,
SC_RPC_HANDLE hService, SC_RPC_HANDLE hService,
DWORD dwServiceType, DWORD dwServiceType,
@ -2347,7 +2347,7 @@ DWORD ScmrChangeServiceConfigA(
/* Function 24 */ /* Function 24 */
DWORD ScmrCreateServiceA( DWORD RCreateServiceA(
handle_t BindingHandle, handle_t BindingHandle,
SC_RPC_HANDLE hSCManager, SC_RPC_HANDLE hSCManager,
LPSTR lpServiceName, LPSTR lpServiceName,
@ -2372,7 +2372,7 @@ DWORD ScmrCreateServiceA(
/* Function 25 */ /* Function 25 */
DWORD ScmrEnumDependentServicesA( DWORD REnumDependentServicesA(
handle_t BindingHandle, handle_t BindingHandle,
SC_RPC_HANDLE hService, SC_RPC_HANDLE hService,
DWORD dwServiceState, DWORD dwServiceState,
@ -2389,7 +2389,7 @@ DWORD ScmrEnumDependentServicesA(
/* Function 26 */ /* Function 26 */
DWORD ScmrEnumServicesStatusA( DWORD REnumServicesStatusA(
handle_t BindingHandle, handle_t BindingHandle,
SC_RPC_HANDLE hSCManager, SC_RPC_HANDLE hSCManager,
DWORD dwServiceType, DWORD dwServiceType,
@ -2406,7 +2406,7 @@ DWORD ScmrEnumServicesStatusA(
/* Function 27 */ /* Function 27 */
DWORD ScmrOpenSCManagerA( DWORD ROpenSCManagerA(
handle_t BindingHandle, handle_t BindingHandle,
LPSTR lpMachineName, LPSTR lpMachineName,
LPSTR lpDatabaseName, LPSTR lpDatabaseName,
@ -2417,7 +2417,7 @@ DWORD ScmrOpenSCManagerA(
UNICODE_STRING DatabaseName; UNICODE_STRING DatabaseName;
DWORD dwError; DWORD dwError;
DPRINT("ScmrOpenSCManagerA() called\n"); DPRINT("ROpenSCManagerA() called\n");
if (lpMachineName) if (lpMachineName)
RtlCreateUnicodeStringFromAsciiz(&MachineName, RtlCreateUnicodeStringFromAsciiz(&MachineName,
@ -2427,7 +2427,7 @@ DWORD ScmrOpenSCManagerA(
RtlCreateUnicodeStringFromAsciiz(&DatabaseName, RtlCreateUnicodeStringFromAsciiz(&DatabaseName,
lpDatabaseName); lpDatabaseName);
dwError = ScmrOpenSCManagerW(BindingHandle, dwError = ROpenSCManagerW(BindingHandle,
lpMachineName ? MachineName.Buffer : NULL, lpMachineName ? MachineName.Buffer : NULL,
lpDatabaseName ? DatabaseName.Buffer : NULL, lpDatabaseName ? DatabaseName.Buffer : NULL,
dwDesiredAccess, dwDesiredAccess,
@ -2444,7 +2444,7 @@ DWORD ScmrOpenSCManagerA(
/* Function 28 */ /* Function 28 */
DWORD ScmrOpenServiceA( DWORD ROpenServiceA(
handle_t BindingHandle, handle_t BindingHandle,
SC_RPC_HANDLE hSCManager, SC_RPC_HANDLE hSCManager,
LPSTR lpServiceName, LPSTR lpServiceName,
@ -2454,12 +2454,12 @@ DWORD ScmrOpenServiceA(
UNICODE_STRING ServiceName; UNICODE_STRING ServiceName;
DWORD dwError; DWORD dwError;
DPRINT("ScmrOpenServiceA() called\n"); DPRINT("ROpenServiceA() called\n");
RtlCreateUnicodeStringFromAsciiz(&ServiceName, RtlCreateUnicodeStringFromAsciiz(&ServiceName,
lpServiceName); lpServiceName);
dwError = ScmrOpenServiceW(BindingHandle, dwError = ROpenServiceW(BindingHandle,
hSCManager, hSCManager,
ServiceName.Buffer, ServiceName.Buffer,
dwDesiredAccess, dwDesiredAccess,
@ -2472,7 +2472,7 @@ DWORD ScmrOpenServiceA(
/* Function 29 */ /* Function 29 */
DWORD ScmrQueryServiceConfigA( DWORD RQueryServiceConfigA(
handle_t BindingHandle, handle_t BindingHandle,
SC_RPC_HANDLE hService, SC_RPC_HANDLE hService,
LPQUERY_SERVICE_CONFIGA lpServiceConfig, LPQUERY_SERVICE_CONFIGA lpServiceConfig,
@ -2485,7 +2485,7 @@ DWORD ScmrQueryServiceConfigA(
/* Function 30 */ /* Function 30 */
DWORD ScmrQueryServiceLockStatusA( DWORD RQueryServiceLockStatusA(
handle_t BindingHandle, handle_t BindingHandle,
SC_RPC_HANDLE hSCManager, SC_RPC_HANDLE hSCManager,
LPQUERY_SERVICE_LOCK_STATUSA lpLockStatus, LPQUERY_SERVICE_LOCK_STATUSA lpLockStatus,
@ -2498,7 +2498,7 @@ DWORD ScmrQueryServiceLockStatusA(
/* Function 31 */ /* Function 31 */
DWORD ScmrStartServiceA( DWORD RStartServiceA(
handle_t BindingHandle, handle_t BindingHandle,
SC_RPC_HANDLE hService, SC_RPC_HANDLE hService,
DWORD argc, DWORD argc,
@ -2508,7 +2508,7 @@ DWORD ScmrStartServiceA(
PSERVICE_HANDLE hSvc; PSERVICE_HANDLE hSvc;
PSERVICE lpService = NULL; PSERVICE lpService = NULL;
DPRINT1("ScmrStartServiceA() called\n"); DPRINT1("RStartServiceA() called\n");
if (ScmShutdown) if (ScmShutdown)
return ERROR_SHUTDOWN_IN_PROGRESS; return ERROR_SHUTDOWN_IN_PROGRESS;
@ -2552,7 +2552,7 @@ DWORD ScmrStartServiceA(
/* Function 32 */ /* Function 32 */
DWORD ScmrGetServiceDisplayNameA( DWORD RGetServiceDisplayNameA(
handle_t BindingHandle, handle_t BindingHandle,
SC_RPC_HANDLE hSCManager, SC_RPC_HANDLE hSCManager,
LPSTR lpServiceName, LPSTR lpServiceName,
@ -2565,7 +2565,7 @@ DWORD ScmrGetServiceDisplayNameA(
/* Function 33 */ /* Function 33 */
DWORD ScmrGetServiceKeyNameA( DWORD RGetServiceKeyNameA(
handle_t BindingHandle, handle_t BindingHandle,
SC_RPC_HANDLE hSCManager, SC_RPC_HANDLE hSCManager,
LPSTR lpDisplayName, LPSTR lpDisplayName,
@ -2578,7 +2578,7 @@ DWORD ScmrGetServiceKeyNameA(
/* Function 34 */ /* Function 34 */
DWORD ScmrGetCurrentGroupStateW( DWORD RGetCurrentGroupStateW(
handle_t BindingHandle) handle_t BindingHandle)
{ {
UNIMPLEMENTED; UNIMPLEMENTED;
@ -2587,7 +2587,7 @@ DWORD ScmrGetCurrentGroupStateW(
/* Function 35 */ /* Function 35 */
DWORD ScmrEnumServiceGroupW( DWORD REnumServiceGroupW(
handle_t BindingHandle, handle_t BindingHandle,
SC_RPC_HANDLE hSCManager, SC_RPC_HANDLE hSCManager,
DWORD dwServiceType, DWORD dwServiceType,
@ -2605,7 +2605,7 @@ DWORD ScmrEnumServiceGroupW(
/* Function 36 */ /* Function 36 */
DWORD ScmrChangeServiceConfig2A( DWORD RChangeServiceConfig2A(
handle_t BindingHandle, handle_t BindingHandle,
SC_RPC_HANDLE hService, SC_RPC_HANDLE hService,
SC_RPC_CONFIG_INFOA Info) SC_RPC_CONFIG_INFOA Info)
@ -2616,7 +2616,7 @@ DWORD ScmrChangeServiceConfig2A(
/* Function 37 */ /* Function 37 */
DWORD ScmrChangeServiceConfig2W( DWORD RChangeServiceConfig2W(
handle_t BindingHandle, handle_t BindingHandle,
SC_RPC_HANDLE hService, SC_RPC_HANDLE hService,
SC_RPC_CONFIG_INFOW Info) SC_RPC_CONFIG_INFOW Info)
@ -2626,7 +2626,7 @@ DWORD ScmrChangeServiceConfig2W(
PSERVICE lpService = NULL; PSERVICE lpService = NULL;
HKEY hServiceKey = NULL; HKEY hServiceKey = NULL;
DPRINT("ScmrChangeServiceConfig2W() called\n"); DPRINT("RChangeServiceConfig2W() called\n");
DPRINT("dwInfoLevel = %lu\n", Info.dwInfoLevel); DPRINT("dwInfoLevel = %lu\n", Info.dwInfoLevel);
if (ScmShutdown) if (ScmShutdown)
@ -2702,14 +2702,14 @@ done:
if (hServiceKey != NULL) if (hServiceKey != NULL)
RegCloseKey(hServiceKey); RegCloseKey(hServiceKey);
DPRINT("ScmrChangeServiceConfig2W() done (Error %lu)\n", dwError); DPRINT("RChangeServiceConfig2W() done (Error %lu)\n", dwError);
return dwError; return dwError;
} }
/* Function 38 */ /* Function 38 */
DWORD ScmrQueryServiceConfig2A( DWORD RQueryServiceConfig2A(
handle_t BindingHandle, handle_t BindingHandle,
SC_RPC_HANDLE hService, SC_RPC_HANDLE hService,
DWORD dwInfoLevel, DWORD dwInfoLevel,
@ -2723,7 +2723,7 @@ DWORD ScmrQueryServiceConfig2A(
/* Function 39 */ /* Function 39 */
DWORD ScmrQueryServiceConfig2W( DWORD RQueryServiceConfig2W(
handle_t BindingHandle, handle_t BindingHandle,
SC_RPC_HANDLE hService, SC_RPC_HANDLE hService,
DWORD dwInfoLevel, DWORD dwInfoLevel,
@ -2738,7 +2738,7 @@ DWORD ScmrQueryServiceConfig2W(
DWORD dwRequiredSize; DWORD dwRequiredSize;
LPWSTR lpDescription = NULL; LPWSTR lpDescription = NULL;
DPRINT("ScmrQueryServiceConfig2W() called\n"); DPRINT("RQueryServiceConfig2W() called\n");
if (ScmShutdown) if (ScmShutdown)
return ERROR_SHUTDOWN_IN_PROGRESS; return ERROR_SHUTDOWN_IN_PROGRESS;
@ -2814,14 +2814,14 @@ done:
/* FIXME: Unlock database */ /* FIXME: Unlock database */
DPRINT("ScmrQueryServiceConfig2W() done (Error %lu)\n", dwError); DPRINT("RQueryServiceConfig2W() done (Error %lu)\n", dwError);
return dwError; return dwError;
} }
/* Function 40 */ /* Function 40 */
DWORD ScmrQueryServiceStatusEx( DWORD RQueryServiceStatusEx(
handle_t BindingHandle, handle_t BindingHandle,
SC_RPC_HANDLE hService, SC_RPC_HANDLE hService,
SC_STATUS_TYPE InfoLevel, SC_STATUS_TYPE InfoLevel,
@ -2833,7 +2833,7 @@ DWORD ScmrQueryServiceStatusEx(
PSERVICE_HANDLE hSvc; PSERVICE_HANDLE hSvc;
PSERVICE lpService; PSERVICE lpService;
DPRINT("ScmrQueryServiceStatusEx() called\n"); DPRINT("RQueryServiceStatusEx() called\n");
if (ScmShutdown) if (ScmShutdown)
return ERROR_SHUTDOWN_IN_PROGRESS; return ERROR_SHUTDOWN_IN_PROGRESS;
@ -2882,7 +2882,7 @@ DWORD ScmrQueryServiceStatusEx(
/* Function 41 */ /* Function 41 */
DWORD ScmrEnumServicesStatusExA( DWORD REnumServicesStatusExA(
handle_t BindingHandle, handle_t BindingHandle,
SC_RPC_HANDLE hSCManager, SC_RPC_HANDLE hSCManager,
SC_ENUM_TYPE InfoLevel, SC_ENUM_TYPE InfoLevel,
@ -2903,7 +2903,7 @@ DWORD ScmrEnumServicesStatusExA(
/* Function 42 */ /* Function 42 */
DWORD ScmrEnumServicesStatusExW( DWORD REnumServicesStatusExW(
handle_t BindingHandle, handle_t BindingHandle,
SC_RPC_HANDLE hSCManager, SC_RPC_HANDLE hSCManager,
SC_ENUM_TYPE InfoLevel, SC_ENUM_TYPE InfoLevel,
@ -2929,7 +2929,7 @@ DWORD ScmrEnumServicesStatusExW(
LPENUM_SERVICE_STATUS_PROCESSW lpStatusPtr; LPENUM_SERVICE_STATUS_PROCESSW lpStatusPtr;
LPWSTR lpStringPtr; LPWSTR lpStringPtr;
DPRINT("ScmrEnumServicesStatusExW() called\n"); DPRINT("REnumServicesStatusExW() called\n");
if (ScmShutdown) if (ScmShutdown)
return ERROR_SHUTDOWN_IN_PROGRESS; return ERROR_SHUTDOWN_IN_PROGRESS;
@ -3147,14 +3147,14 @@ DWORD ScmrEnumServicesStatusExW(
Done:; Done:;
/* Unlock the service list */ /* Unlock the service list */
DPRINT("ScmrEnumServicesStatusExW() done (Error %lu)\n", dwError); DPRINT("REnumServicesStatusExW() done (Error %lu)\n", dwError);
return dwError; return dwError;
} }
/* Function 43 */ /* Function 43 */
DWORD ScmrSendTSMessage( DWORD RSendTSMessage(
handle_t BindingHandle) handle_t BindingHandle)
{ {
UNIMPLEMENTED; UNIMPLEMENTED;
@ -3163,7 +3163,7 @@ DWORD ScmrSendTSMessage(
/* Function 44 */ /* Function 44 */
DWORD ScmrCreateServiceWOW64A( DWORD RCreateServiceWOW64A(
handle_t BindingHandle, handle_t BindingHandle,
LPSTR lpServiceName, LPSTR lpServiceName,
LPSTR lpDisplayName, LPSTR lpDisplayName,
@ -3187,7 +3187,7 @@ DWORD ScmrCreateServiceWOW64A(
/* Function 45 */ /* Function 45 */
DWORD ScmrCreateServiceWOW64W( DWORD RCreateServiceWOW64W(
handle_t BindingHandle, handle_t BindingHandle,
LPWSTR lpServiceName, LPWSTR lpServiceName,
LPWSTR lpDisplayName, LPWSTR lpDisplayName,
@ -3211,7 +3211,7 @@ DWORD ScmrCreateServiceWOW64W(
/* Function 46 */ /* Function 46 */
DWORD ScmrFunction46( DWORD RQueryServiceTagInfo(
handle_t BindingHandle) handle_t BindingHandle)
{ {
UNIMPLEMENTED; UNIMPLEMENTED;
@ -3220,7 +3220,7 @@ DWORD ScmrFunction46(
/* Function 47 */ /* Function 47 */
DWORD ScmrNotifyServiceStatusChange( DWORD RNotifyServiceStatusChange(
handle_t BindingHandle, handle_t BindingHandle,
SC_RPC_HANDLE hService, SC_RPC_HANDLE hService,
SC_RPC_NOTIFY_PARAMS NotifyParams, SC_RPC_NOTIFY_PARAMS NotifyParams,
@ -3235,7 +3235,7 @@ DWORD ScmrNotifyServiceStatusChange(
/* Function 48 */ /* Function 48 */
DWORD ScmrGetNotifyResults( DWORD RGetNotifyResults(
handle_t BindingHandle, handle_t BindingHandle,
SC_NOTIFY_RPC_HANDLE hNotify, SC_NOTIFY_RPC_HANDLE hNotify,
PSC_RPC_NOTIFY_PARAMS_LIST *ppNotifyParams) PSC_RPC_NOTIFY_PARAMS_LIST *ppNotifyParams)
@ -3246,7 +3246,7 @@ DWORD ScmrGetNotifyResults(
/* Function 49 */ /* Function 49 */
DWORD ScmrCloseNotifyHandle( DWORD RCloseNotifyHandle(
handle_t BindingHandle, handle_t BindingHandle,
LPSC_NOTIFY_RPC_HANDLE phNotify, LPSC_NOTIFY_RPC_HANDLE phNotify,
PBOOL pfApcFired) PBOOL pfApcFired)
@ -3257,7 +3257,7 @@ DWORD ScmrCloseNotifyHandle(
/* Function 50 */ /* Function 50 */
DWORD ScmrControlServiceExA( DWORD RControlServiceExA(
handle_t BindingHandle, handle_t BindingHandle,
SC_RPC_HANDLE hService, SC_RPC_HANDLE hService,
DWORD dwControl, DWORD dwControl,
@ -3269,7 +3269,7 @@ DWORD ScmrControlServiceExA(
/* Function 51 */ /* Function 51 */
DWORD ScmrControlServiceExW( DWORD RControlServiceExW(
handle_t BindingHandle, handle_t BindingHandle,
SC_RPC_HANDLE hService, SC_RPC_HANDLE hService,
DWORD dwControl, DWORD dwControl,
@ -3281,7 +3281,7 @@ DWORD ScmrControlServiceExW(
/* Function 52 */ /* Function 52 */
DWORD ScmrFunction52( DWORD RSendPnPMessage(
handle_t BindingHandle) handle_t BindingHandle)
{ {
UNIMPLEMENTED; UNIMPLEMENTED;
@ -3290,7 +3290,7 @@ DWORD ScmrFunction52(
/* Function 53 */ /* Function 53 */
DWORD ScmrFunction53( DWORD RValidatePnPService(
handle_t BindingHandle) handle_t BindingHandle)
{ {
UNIMPLEMENTED; UNIMPLEMENTED;
@ -3299,7 +3299,7 @@ DWORD ScmrFunction53(
/* Function 54 */ /* Function 54 */
DWORD ScmrFunction54( DWORD ROpenServiceStatusHandle(
handle_t BindingHandle) handle_t BindingHandle)
{ {
UNIMPLEMENTED; UNIMPLEMENTED;
@ -3308,7 +3308,7 @@ DWORD ScmrFunction54(
/* Function 55 */ /* Function 55 */
DWORD ScmrFunction55( DWORD RFunction55(
handle_t BindingHandle) handle_t BindingHandle)
{ {
UNIMPLEMENTED; UNIMPLEMENTED;

View file

@ -116,12 +116,12 @@ ChangeServiceConfig2A(SC_HANDLE hService,
HandleBind(); HandleBind();
dwError = ScmrChangeServiceConfig2A(BindingHandle, dwError = RChangeServiceConfig2A(BindingHandle,
(SC_RPC_HANDLE)hService, (SC_RPC_HANDLE)hService,
Info); Info);
if (dwError != ERROR_SUCCESS) if (dwError != ERROR_SUCCESS)
{ {
ERR("ScmrChangeServiceConfig2A() failed (Error %lu)\n", dwError); ERR("RChangeServiceConfig2A() failed (Error %lu)\n", dwError);
SetLastError(dwError); SetLastError(dwError);
return FALSE; return FALSE;
} }
@ -170,12 +170,12 @@ ChangeServiceConfig2W(SC_HANDLE hService,
HandleBind(); HandleBind();
dwError = ScmrChangeServiceConfig2W(BindingHandle, dwError = RChangeServiceConfig2W(BindingHandle,
(SC_RPC_HANDLE)hService, (SC_RPC_HANDLE)hService,
Info); Info);
if (dwError != ERROR_SUCCESS) if (dwError != ERROR_SUCCESS)
{ {
ERR("ScmrChangeServiceConfig2W() failed (Error %lu)\n", dwError); ERR("RChangeServiceConfig2W() failed (Error %lu)\n", dwError);
SetLastError(dwError); SetLastError(dwError);
return FALSE; return FALSE;
} }
@ -227,23 +227,23 @@ ChangeServiceConfigA(SC_HANDLE hService,
HandleBind(); HandleBind();
/* Call to services.exe using RPC */ /* Call to services.exe using RPC */
dwError = ScmrChangeServiceConfigA(BindingHandle, dwError = RChangeServiceConfigA(BindingHandle,
(unsigned int)hService, (SC_RPC_HANDLE)hService,
dwServiceType, dwServiceType,
dwStartType, dwStartType,
dwErrorControl, dwErrorControl,
(LPSTR)lpBinaryPathName, (LPSTR)lpBinaryPathName,
(LPSTR)lpLoadOrderGroup, (LPSTR)lpLoadOrderGroup,
lpdwTagId, lpdwTagId,
(LPSTR)lpDependencies, (LPSTR)lpDependencies,
dwDependenciesLength, dwDependenciesLength,
(LPSTR)lpServiceStartName, (LPSTR)lpServiceStartName,
NULL, /* FIXME: lpPassword */ NULL, /* FIXME: lpPassword */
0, /* FIXME: dwPasswordLength */ 0, /* FIXME: dwPasswordLength */
(LPSTR)lpDisplayName); (LPSTR)lpDisplayName);
if (dwError != ERROR_SUCCESS) if (dwError != ERROR_SUCCESS)
{ {
ERR("ScmrChangeServiceConfigA() failed (Error %lu)\n", dwError); ERR("RChangeServiceConfigA() failed (Error %lu)\n", dwError);
SetLastError(dwError); SetLastError(dwError);
return FALSE; return FALSE;
} }
@ -295,23 +295,23 @@ ChangeServiceConfigW(SC_HANDLE hService,
HandleBind(); HandleBind();
/* Call to services.exe using RPC */ /* Call to services.exe using RPC */
dwError = ScmrChangeServiceConfigW(BindingHandle, dwError = RChangeServiceConfigW(BindingHandle,
(SC_RPC_HANDLE)hService, (SC_RPC_HANDLE)hService,
dwServiceType, dwServiceType,
dwStartType, dwStartType,
dwErrorControl, dwErrorControl,
(LPWSTR)lpBinaryPathName, (LPWSTR)lpBinaryPathName,
(LPWSTR)lpLoadOrderGroup, (LPWSTR)lpLoadOrderGroup,
lpdwTagId, lpdwTagId,
(LPBYTE)lpDependencies, (LPBYTE)lpDependencies,
dwDependenciesLength, dwDependenciesLength,
(LPWSTR)lpServiceStartName, (LPWSTR)lpServiceStartName,
NULL, /* FIXME: lpPassword */ NULL, /* FIXME: lpPassword */
0, /* FIXME: dwPasswordLength */ 0, /* FIXME: dwPasswordLength */
(LPWSTR)lpDisplayName); (LPWSTR)lpDisplayName);
if (dwError != ERROR_SUCCESS) if (dwError != ERROR_SUCCESS)
{ {
ERR("ScmrChangeServiceConfigW() failed (Error %lu)\n", dwError); ERR("RChangeServiceConfigW() failed (Error %lu)\n", dwError);
SetLastError(dwError); SetLastError(dwError);
return FALSE; return FALSE;
} }
@ -335,11 +335,11 @@ CloseServiceHandle(SC_HANDLE hSCObject)
HandleBind(); HandleBind();
/* Call to services.exe using RPC */ /* Call to services.exe using RPC */
dwError = ScmrCloseServiceHandle(BindingHandle, dwError = RCloseServiceHandle(BindingHandle,
(LPSC_RPC_HANDLE)&hSCObject); (LPSC_RPC_HANDLE)&hSCObject);
if (dwError) if (dwError)
{ {
ERR("ScmrCloseServiceHandle() failed (Error %lu)\n", dwError); ERR("RCloseServiceHandle() failed (Error %lu)\n", dwError);
SetLastError(dwError); SetLastError(dwError);
return FALSE; return FALSE;
} }
@ -368,13 +368,13 @@ ControlService(SC_HANDLE hService,
HandleBind(); HandleBind();
/* Call to services.exe using RPC */ /* Call to services.exe using RPC */
dwError = ScmrControlService(BindingHandle, dwError = RControlService(BindingHandle,
(unsigned int)hService, (SC_RPC_HANDLE)hService,
dwControl, dwControl,
lpServiceStatus); lpServiceStatus);
if (dwError != ERROR_SUCCESS) if (dwError != ERROR_SUCCESS)
{ {
ERR("ScmrControlService() failed (Error %lu)\n", dwError); ERR("RControlService() failed (Error %lu)\n", dwError);
SetLastError(dwError); SetLastError(dwError);
return FALSE; return FALSE;
} }
@ -615,26 +615,26 @@ CreateServiceW(SC_HANDLE hSCManager,
HandleBind(); HandleBind();
/* Call to services.exe using RPC */ /* Call to services.exe using RPC */
dwError = ScmrCreateServiceW(BindingHandle, dwError = RCreateServiceW(BindingHandle,
(SC_RPC_HANDLE)hSCManager, (SC_RPC_HANDLE)hSCManager,
(LPWSTR)lpServiceName, (LPWSTR)lpServiceName,
(LPWSTR)lpDisplayName, (LPWSTR)lpDisplayName,
dwDesiredAccess, dwDesiredAccess,
dwServiceType, dwServiceType,
dwStartType, dwStartType,
dwErrorControl, dwErrorControl,
(LPWSTR)lpBinaryPathName, (LPWSTR)lpBinaryPathName,
(LPWSTR)lpLoadOrderGroup, (LPWSTR)lpLoadOrderGroup,
lpdwTagId, lpdwTagId,
(LPBYTE)lpDependencies, (LPBYTE)lpDependencies,
dwDependenciesLength, dwDependenciesLength,
(LPWSTR)lpServiceStartName, (LPWSTR)lpServiceStartName,
NULL, /* FIXME: lpPassword */ NULL, /* FIXME: lpPassword */
0, /* FIXME: dwPasswordLength */ 0, /* FIXME: dwPasswordLength */
(SC_RPC_HANDLE *)&hService); (SC_RPC_HANDLE *)&hService);
if (dwError != ERROR_SUCCESS) if (dwError != ERROR_SUCCESS)
{ {
ERR("ScmrCreateServiceW() failed (Error %lu)\n", dwError); ERR("RCreateServiceW() failed (Error %lu)\n", dwError);
SetLastError(dwError); SetLastError(dwError);
return NULL; return NULL;
} }
@ -658,11 +658,11 @@ DeleteService(SC_HANDLE hService)
HandleBind(); HandleBind();
/* Call to services.exe using RPC */ /* Call to services.exe using RPC */
dwError = ScmrDeleteService(BindingHandle, dwError = RDeleteService(BindingHandle,
(unsigned int)hService); (SC_RPC_HANDLE)hService);
if (dwError != ERROR_SUCCESS) if (dwError != ERROR_SUCCESS)
{ {
ERR("ScmrDeleteService() failed (Error %lu)\n", dwError); ERR("RDeleteService() failed (Error %lu)\n", dwError);
SetLastError(dwError); SetLastError(dwError);
return FALSE; return FALSE;
} }
@ -692,13 +692,13 @@ EnumDependentServicesA(SC_HANDLE hService,
HandleBind(); HandleBind();
dwError = ScmrEnumDependentServicesA(BindingHandle, dwError = REnumDependentServicesA(BindingHandle,
(unsigned int)hService, (SC_RPC_HANDLE)hService,
dwServiceState, dwServiceState,
(unsigned char *)lpServices, (LPBYTE)lpServices,
cbBufSize, cbBufSize,
pcbBytesNeeded, pcbBytesNeeded,
lpServicesReturned); lpServicesReturned);
lpStatusPtr = (LPENUM_SERVICE_STATUSA)lpServices; lpStatusPtr = (LPENUM_SERVICE_STATUSA)lpServices;
for (dwCount = 0; dwCount < *lpServicesReturned; dwCount++) for (dwCount = 0; dwCount < *lpServicesReturned; dwCount++)
@ -716,7 +716,7 @@ EnumDependentServicesA(SC_HANDLE hService,
if (dwError != ERROR_SUCCESS) if (dwError != ERROR_SUCCESS)
{ {
ERR("ScmrEnumDependentServicesA() failed (Error %lu)\n", dwError); ERR("REnumDependentServicesA() failed (Error %lu)\n", dwError);
SetLastError(dwError); SetLastError(dwError);
return FALSE; return FALSE;
} }
@ -748,13 +748,13 @@ EnumDependentServicesW(SC_HANDLE hService,
HandleBind(); HandleBind();
dwError = ScmrEnumDependentServicesW(BindingHandle, dwError = REnumDependentServicesW(BindingHandle,
(unsigned int)hService, (SC_RPC_HANDLE)hService,
dwServiceState, dwServiceState,
(unsigned char *)lpServices, (LPBYTE)lpServices,
cbBufSize, cbBufSize,
pcbBytesNeeded, pcbBytesNeeded,
lpServicesReturned); lpServicesReturned);
lpStatusPtr = (LPENUM_SERVICE_STATUSW)lpServices; lpStatusPtr = (LPENUM_SERVICE_STATUSW)lpServices;
for (dwCount = 0; dwCount < *lpServicesReturned; dwCount++) for (dwCount = 0; dwCount < *lpServicesReturned; dwCount++)
@ -772,7 +772,7 @@ EnumDependentServicesW(SC_HANDLE hService,
if (dwError != ERROR_SUCCESS) if (dwError != ERROR_SUCCESS)
{ {
ERR("ScmrEnumDependentServicesW() failed (Error %lu)\n", dwError); ERR("REnumDependentServicesW() failed (Error %lu)\n", dwError);
SetLastError(dwError); SetLastError(dwError);
return FALSE; return FALSE;
} }
@ -830,15 +830,15 @@ EnumServicesStatusA(SC_HANDLE hSCManager,
HandleBind(); HandleBind();
dwError = ScmrEnumServicesStatusA(BindingHandle, dwError = REnumServicesStatusA(BindingHandle,
(unsigned int)hSCManager, (SC_RPC_HANDLE)hSCManager,
dwServiceType, dwServiceType,
dwServiceState, dwServiceState,
(unsigned char *)lpServices, (LPBYTE)lpServices,
cbBufSize, cbBufSize,
pcbBytesNeeded, pcbBytesNeeded,
lpServicesReturned, lpServicesReturned,
lpResumeHandle); lpResumeHandle);
lpStatusPtr = (LPENUM_SERVICE_STATUSA)lpServices; lpStatusPtr = (LPENUM_SERVICE_STATUSA)lpServices;
for (dwCount = 0; dwCount < *lpServicesReturned; dwCount++) for (dwCount = 0; dwCount < *lpServicesReturned; dwCount++)
@ -856,7 +856,7 @@ EnumServicesStatusA(SC_HANDLE hSCManager,
if (dwError != ERROR_SUCCESS) if (dwError != ERROR_SUCCESS)
{ {
ERR("ScmrEnumServicesStatusA() failed (Error %lu)\n", dwError); ERR("REnumServicesStatusA() failed (Error %lu)\n", dwError);
SetLastError(dwError); SetLastError(dwError);
return FALSE; return FALSE;
} }
@ -890,15 +890,15 @@ EnumServicesStatusW(SC_HANDLE hSCManager,
HandleBind(); HandleBind();
dwError = ScmrEnumServicesStatusW(BindingHandle, dwError = REnumServicesStatusW(BindingHandle,
(unsigned int)hSCManager, (SC_RPC_HANDLE)hSCManager,
dwServiceType, dwServiceType,
dwServiceState, dwServiceState,
(unsigned char *)lpServices, (LPBYTE)lpServices,
cbBufSize, cbBufSize,
pcbBytesNeeded, pcbBytesNeeded,
lpServicesReturned, lpServicesReturned,
lpResumeHandle); lpResumeHandle);
lpStatusPtr = (LPENUM_SERVICE_STATUSW)lpServices; lpStatusPtr = (LPENUM_SERVICE_STATUSW)lpServices;
for (dwCount = 0; dwCount < *lpServicesReturned; dwCount++) for (dwCount = 0; dwCount < *lpServicesReturned; dwCount++)
@ -916,7 +916,7 @@ EnumServicesStatusW(SC_HANDLE hSCManager,
if (dwError != ERROR_SUCCESS) if (dwError != ERROR_SUCCESS)
{ {
ERR("ScmrEnumServicesStatusW() failed (Error %lu)\n", dwError); ERR("REnumServicesStatusW() failed (Error %lu)\n", dwError);
SetLastError(dwError); SetLastError(dwError);
return FALSE; return FALSE;
} }
@ -952,17 +952,17 @@ EnumServicesStatusExA(SC_HANDLE hSCManager,
HandleBind(); HandleBind();
dwError = ScmrEnumServicesStatusExA(BindingHandle, dwError = REnumServicesStatusExA(BindingHandle,
(unsigned int)hSCManager, (SC_RPC_HANDLE)hSCManager,
(unsigned long)InfoLevel, InfoLevel,
dwServiceType, dwServiceType,
dwServiceState, dwServiceState,
(unsigned char *)lpServices, (LPBYTE)lpServices,
cbBufSize, cbBufSize,
pcbBytesNeeded, pcbBytesNeeded,
lpServicesReturned, lpServicesReturned,
lpResumeHandle, lpResumeHandle,
(char *)pszGroupName); (LPSTR)pszGroupName);
if (dwError == ERROR_MORE_DATA) if (dwError == ERROR_MORE_DATA)
{ {
@ -988,7 +988,7 @@ EnumServicesStatusExA(SC_HANDLE hSCManager,
} }
else else
{ {
ERR("ScmrEnumServicesStatusExA() failed (Error %lu)\n", dwError); ERR("REnumServicesStatusExA() failed (Error %lu)\n", dwError);
SetLastError(dwError); SetLastError(dwError);
return FALSE; return FALSE;
} }
@ -1024,17 +1024,17 @@ EnumServicesStatusExW(SC_HANDLE hSCManager,
HandleBind(); HandleBind();
dwError = ScmrEnumServicesStatusExW(BindingHandle, dwError = REnumServicesStatusExW(BindingHandle,
(unsigned int)hSCManager, (SC_RPC_HANDLE)hSCManager,
(unsigned long)InfoLevel, InfoLevel,
dwServiceType, dwServiceType,
dwServiceState, dwServiceState,
(unsigned char *)lpServices, (LPBYTE)lpServices,
cbBufSize, cbBufSize,
pcbBytesNeeded, pcbBytesNeeded,
lpServicesReturned, lpServicesReturned,
lpResumeHandle, lpResumeHandle,
(wchar_t *)pszGroupName); (LPWSTR)pszGroupName);
if (dwError == ERROR_MORE_DATA) if (dwError == ERROR_MORE_DATA)
{ {
@ -1060,7 +1060,7 @@ EnumServicesStatusExW(SC_HANDLE hSCManager,
} }
else else
{ {
ERR("ScmrEnumServicesStatusExW() failed (Error %lu)\n", dwError); ERR("REnumServicesStatusExW() failed (Error %lu)\n", dwError);
SetLastError(dwError); SetLastError(dwError);
return FALSE; return FALSE;
} }
@ -1088,14 +1088,14 @@ GetServiceDisplayNameA(SC_HANDLE hSCManager,
HandleBind(); HandleBind();
dwError = ScmrGetServiceDisplayNameA(BindingHandle, dwError = RGetServiceDisplayNameA(BindingHandle,
(unsigned int)hSCManager, (SC_RPC_HANDLE)hSCManager,
(LPSTR)lpServiceName, (LPSTR)lpServiceName,
lpDisplayName, lpDisplayName,
lpcchBuffer); lpcchBuffer);
if (dwError != ERROR_SUCCESS) if (dwError != ERROR_SUCCESS)
{ {
ERR("ScmrGetServiceDisplayNameA() failed (Error %lu)\n", dwError); ERR("RGetServiceDisplayNameA() failed (Error %lu)\n", dwError);
SetLastError(dwError); SetLastError(dwError);
return FALSE; return FALSE;
} }
@ -1123,14 +1123,14 @@ GetServiceDisplayNameW(SC_HANDLE hSCManager,
HandleBind(); HandleBind();
dwError = ScmrGetServiceDisplayNameW(BindingHandle, dwError = RGetServiceDisplayNameW(BindingHandle,
(unsigned int)hSCManager, (SC_RPC_HANDLE)hSCManager,
(LPWSTR)lpServiceName, (LPWSTR)lpServiceName,
lpDisplayName, lpDisplayName,
lpcchBuffer); lpcchBuffer);
if (dwError != ERROR_SUCCESS) if (dwError != ERROR_SUCCESS)
{ {
ERR("ScmrGetServiceDisplayNameW() failed (Error %lu)\n", dwError); ERR("RGetServiceDisplayNameW() failed (Error %lu)\n", dwError);
SetLastError(dwError); SetLastError(dwError);
return FALSE; return FALSE;
} }
@ -1158,14 +1158,14 @@ GetServiceKeyNameA(SC_HANDLE hSCManager,
HandleBind(); HandleBind();
dwError = ScmrGetServiceKeyNameA(BindingHandle, dwError = RGetServiceKeyNameA(BindingHandle,
(unsigned int)hSCManager, (SC_RPC_HANDLE)hSCManager,
(LPSTR)lpDisplayName, (LPSTR)lpDisplayName,
lpServiceName, lpServiceName,
lpcchBuffer); lpcchBuffer);
if (dwError != ERROR_SUCCESS) if (dwError != ERROR_SUCCESS)
{ {
ERR("ScmrGetServiceKeyNameA() failed (Error %lu)\n", dwError); ERR("RGetServiceKeyNameA() failed (Error %lu)\n", dwError);
SetLastError(dwError); SetLastError(dwError);
return FALSE; return FALSE;
} }
@ -1193,14 +1193,14 @@ GetServiceKeyNameW(SC_HANDLE hSCManager,
HandleBind(); HandleBind();
dwError = ScmrGetServiceKeyNameW(BindingHandle, dwError = RGetServiceKeyNameW(BindingHandle,
(unsigned int)hSCManager, (SC_RPC_HANDLE)hSCManager,
(LPWSTR)lpDisplayName, (LPWSTR)lpDisplayName,
lpServiceName, lpServiceName,
lpcchBuffer); lpcchBuffer);
if (dwError != ERROR_SUCCESS) if (dwError != ERROR_SUCCESS)
{ {
ERR("ScmrGetServiceKeyNameW() failed (Error %lu)\n", dwError); ERR("RGetServiceKeyNameW() failed (Error %lu)\n", dwError);
SetLastError(dwError); SetLastError(dwError);
return FALSE; return FALSE;
} }
@ -1227,12 +1227,12 @@ LockServiceDatabase(SC_HANDLE hSCManager)
HandleBind(); HandleBind();
/* Call to services.exe using RPC */ /* Call to services.exe using RPC */
dwError = ScmrLockServiceDatabase(BindingHandle, dwError = RLockServiceDatabase(BindingHandle,
(SC_RPC_HANDLE)hSCManager, (SC_RPC_HANDLE)hSCManager,
(SC_RPC_LOCK *)&hLock); (SC_RPC_LOCK *)&hLock);
if (dwError != ERROR_SUCCESS) if (dwError != ERROR_SUCCESS)
{ {
ERR("ScmrLockServiceDatabase() failed (Error %lu)\n", dwError); ERR("RLockServiceDatabase() failed (Error %lu)\n", dwError);
SetLastError(dwError); SetLastError(dwError);
return NULL; return NULL;
} }
@ -1304,14 +1304,14 @@ OpenSCManagerA(LPCSTR lpMachineName,
HandleBind(); HandleBind();
/* Call to services.exe using RPC */ /* Call to services.exe using RPC */
dwError = ScmrOpenSCManagerA(BindingHandle, dwError = ROpenSCManagerA(BindingHandle,
(LPSTR)lpMachineName, (LPSTR)lpMachineName,
(LPSTR)lpDatabaseName, (LPSTR)lpDatabaseName,
dwDesiredAccess, dwDesiredAccess,
(unsigned long*)&hScm); (SC_RPC_HANDLE *)&hScm);
if (dwError != ERROR_SUCCESS) if (dwError != ERROR_SUCCESS)
{ {
ERR("ScmrOpenSCManagerA() failed (Error %lu)\n", dwError); ERR("ROpenSCManagerA() failed (Error %lu)\n", dwError);
SetLastError(dwError); SetLastError(dwError);
return NULL; return NULL;
} }
@ -1343,14 +1343,14 @@ OpenSCManagerW(LPCWSTR lpMachineName,
HandleBind(); HandleBind();
/* Call to services.exe using RPC */ /* Call to services.exe using RPC */
dwError = ScmrOpenSCManagerW(BindingHandle, dwError = ROpenSCManagerW(BindingHandle,
(LPWSTR)lpMachineName, (LPWSTR)lpMachineName,
(LPWSTR)lpDatabaseName, (LPWSTR)lpDatabaseName,
dwDesiredAccess, dwDesiredAccess,
(unsigned long*)&hScm); (SC_RPC_HANDLE *)&hScm);
if (dwError != ERROR_SUCCESS) if (dwError != ERROR_SUCCESS)
{ {
ERR("ScmrOpenSCManagerW() failed (Error %lu)\n", dwError); ERR("ROpenSCManagerW() failed (Error %lu)\n", dwError);
SetLastError(dwError); SetLastError(dwError);
return NULL; return NULL;
} }
@ -1380,14 +1380,14 @@ OpenServiceA(SC_HANDLE hSCManager,
HandleBind(); HandleBind();
/* Call to services.exe using RPC */ /* Call to services.exe using RPC */
dwError = ScmrOpenServiceA(BindingHandle, dwError = ROpenServiceA(BindingHandle,
(unsigned int)hSCManager, (SC_RPC_HANDLE)hSCManager,
(LPSTR)lpServiceName, (LPSTR)lpServiceName,
dwDesiredAccess, dwDesiredAccess,
(unsigned long*)&hService); (SC_RPC_HANDLE *)&hService);
if (dwError != ERROR_SUCCESS) if (dwError != ERROR_SUCCESS)
{ {
ERR("ScmrOpenServiceA() failed (Error %lu)\n", dwError); ERR("ROpenServiceA() failed (Error %lu)\n", dwError);
SetLastError(dwError); SetLastError(dwError);
return NULL; return NULL;
} }
@ -1417,14 +1417,14 @@ OpenServiceW(SC_HANDLE hSCManager,
HandleBind(); HandleBind();
/* Call to services.exe using RPC */ /* Call to services.exe using RPC */
dwError = ScmrOpenServiceW(BindingHandle, dwError = ROpenServiceW(BindingHandle,
(unsigned int)hSCManager, (SC_RPC_HANDLE)hSCManager,
(LPWSTR)lpServiceName, (LPWSTR)lpServiceName,
dwDesiredAccess, dwDesiredAccess,
(unsigned long*)&hService); (SC_RPC_HANDLE *)&hService);
if (dwError != ERROR_SUCCESS) if (dwError != ERROR_SUCCESS)
{ {
ERR("ScmrOpenServiceW() failed (Error %lu)\n", dwError); ERR("ROpenServiceW() failed (Error %lu)\n", dwError);
SetLastError(dwError); SetLastError(dwError);
return NULL; return NULL;
} }
@ -1454,14 +1454,14 @@ QueryServiceConfigA(SC_HANDLE hService,
HandleBind(); HandleBind();
/* Call to services.exe using RPC */ /* Call to services.exe using RPC */
dwError = ScmrQueryServiceConfigA(BindingHandle, dwError = RQueryServiceConfigA(BindingHandle,
(SC_RPC_HANDLE)hService, (SC_RPC_HANDLE)hService,
lpServiceConfig, lpServiceConfig,
cbBufSize, cbBufSize,
pcbBytesNeeded); pcbBytesNeeded);
if (dwError != ERROR_SUCCESS) if (dwError != ERROR_SUCCESS)
{ {
ERR("ScmrQueryServiceConfigA() failed (Error %lu)\n", dwError); ERR("RQueryServiceConfigA() failed (Error %lu)\n", dwError);
SetLastError(dwError); SetLastError(dwError);
return FALSE; return FALSE;
} }
@ -1517,14 +1517,14 @@ QueryServiceConfigW(SC_HANDLE hService,
HandleBind(); HandleBind();
/* Call to services.exe using RPC */ /* Call to services.exe using RPC */
dwError = ScmrQueryServiceConfigW(BindingHandle, dwError = RQueryServiceConfigW(BindingHandle,
(SC_RPC_HANDLE)hService, (SC_RPC_HANDLE)hService,
(LPBYTE)lpServiceConfig, (LPBYTE)lpServiceConfig,
cbBufSize, cbBufSize,
pcbBytesNeeded); pcbBytesNeeded);
if (dwError != ERROR_SUCCESS) if (dwError != ERROR_SUCCESS)
{ {
ERR("ScmrQueryServiceConfigW() failed (Error %lu)\n", dwError); ERR("RQueryServiceConfigW() failed (Error %lu)\n", dwError);
SetLastError(dwError); SetLastError(dwError);
return FALSE; return FALSE;
} }
@ -1581,15 +1581,15 @@ QueryServiceConfig2A(SC_HANDLE hService,
HandleBind(); HandleBind();
/* Call to services.exe using RPC */ /* Call to services.exe using RPC */
dwError = ScmrQueryServiceConfig2A(BindingHandle, dwError = RQueryServiceConfig2A(BindingHandle,
(unsigned int)hService, (SC_RPC_HANDLE)hService,
dwInfoLevel, dwInfoLevel,
(unsigned char *)lpBuffer, lpBuffer,
cbBufSize, cbBufSize,
pcbBytesNeeded); pcbBytesNeeded);
if (dwError != ERROR_SUCCESS) if (dwError != ERROR_SUCCESS)
{ {
ERR("ScmrQueryServiceConfig2A() failed (Error %lu)\n", dwError); ERR("RQueryServiceConfig2A() failed (Error %lu)\n", dwError);
SetLastError(dwError); SetLastError(dwError);
return FALSE; return FALSE;
} }
@ -1656,15 +1656,15 @@ QueryServiceConfig2W(SC_HANDLE hService,
HandleBind(); HandleBind();
/* Call to services.exe using RPC */ /* Call to services.exe using RPC */
dwError = ScmrQueryServiceConfig2W(BindingHandle, dwError = RQueryServiceConfig2W(BindingHandle,
(unsigned int)hService, (SC_RPC_HANDLE)hService,
dwInfoLevel, dwInfoLevel,
(unsigned char *)lpBuffer, lpBuffer,
cbBufSize, cbBufSize,
pcbBytesNeeded); pcbBytesNeeded);
if (dwError != ERROR_SUCCESS) if (dwError != ERROR_SUCCESS)
{ {
ERR("ScmrQueryServiceConfig2W() failed (Error %lu)\n", dwError); ERR("RQueryServiceConfig2W() failed (Error %lu)\n", dwError);
SetLastError(dwError); SetLastError(dwError);
return FALSE; return FALSE;
} }
@ -1729,14 +1729,14 @@ QueryServiceLockStatusA(SC_HANDLE hSCManager,
HandleBind(); HandleBind();
/* Call to services.exe using RPC */ /* Call to services.exe using RPC */
dwError = ScmrQueryServiceLockStatusA(BindingHandle, dwError = RQueryServiceLockStatusA(BindingHandle,
(SC_RPC_HANDLE)hSCManager, (SC_RPC_HANDLE)hSCManager,
lpLockStatus, lpLockStatus,
cbBufSize, cbBufSize,
pcbBytesNeeded); pcbBytesNeeded);
if (dwError != ERROR_SUCCESS) if (dwError != ERROR_SUCCESS)
{ {
ERR("ScmrQueryServiceLockStatusA() failed (Error %lu)\n", dwError); ERR("RQueryServiceLockStatusA() failed (Error %lu)\n", dwError);
SetLastError(dwError); SetLastError(dwError);
return FALSE; return FALSE;
} }
@ -1771,14 +1771,14 @@ QueryServiceLockStatusW(SC_HANDLE hSCManager,
HandleBind(); HandleBind();
/* Call to services.exe using RPC */ /* Call to services.exe using RPC */
dwError = ScmrQueryServiceLockStatusW(BindingHandle, dwError = RQueryServiceLockStatusW(BindingHandle,
(SC_RPC_HANDLE)hSCManager, (SC_RPC_HANDLE)hSCManager,
lpLockStatus, lpLockStatus,
cbBufSize, cbBufSize,
pcbBytesNeeded); pcbBytesNeeded);
if (dwError != ERROR_SUCCESS) if (dwError != ERROR_SUCCESS)
{ {
ERR("ScmrQueryServiceLockStatusW() failed (Error %lu)\n", dwError); ERR("RQueryServiceLockStatusW() failed (Error %lu)\n", dwError);
SetLastError(dwError); SetLastError(dwError);
return FALSE; return FALSE;
} }
@ -1815,12 +1815,12 @@ QueryServiceObjectSecurity(SC_HANDLE hService,
HandleBind(); HandleBind();
/* Call to services.exe using RPC */ /* Call to services.exe using RPC */
dwError = ScmrQueryServiceObjectSecurity(BindingHandle, dwError = RQueryServiceObjectSecurity(BindingHandle,
(unsigned int)hService, (SC_RPC_HANDLE)hService,
dwSecurityInformation, dwSecurityInformation,
(unsigned char *)lpSecurityDescriptor, (LPBYTE)lpSecurityDescriptor,
cbBufSize, cbBufSize,
pcbBytesNeeded); pcbBytesNeeded);
if (dwError != ERROR_SUCCESS) if (dwError != ERROR_SUCCESS)
{ {
ERR("QueryServiceObjectSecurity() failed (Error %lu)\n", dwError); ERR("QueryServiceObjectSecurity() failed (Error %lu)\n", dwError);
@ -1876,17 +1876,17 @@ SetServiceObjectSecurity(SC_HANDLE hService,
HandleBind(); HandleBind();
/* Call to services.exe using RPC */ /* Call to services.exe using RPC */
dwError = ScmrSetServiceObjectSecurity(BindingHandle, dwError = RSetServiceObjectSecurity(BindingHandle,
(unsigned int)hService, (SC_RPC_HANDLE)hService,
dwSecurityInformation, dwSecurityInformation,
(unsigned char *)SelfRelativeSD, (LPBYTE)SelfRelativeSD,
Length); Length);
HeapFree(GetProcessHeap(), 0, SelfRelativeSD); HeapFree(GetProcessHeap(), 0, SelfRelativeSD);
if (dwError != ERROR_SUCCESS) if (dwError != ERROR_SUCCESS)
{ {
ERR("ScmrServiceObjectSecurity() failed (Error %lu)\n", dwError); ERR("RServiceObjectSecurity() failed (Error %lu)\n", dwError);
SetLastError(dwError); SetLastError(dwError);
return FALSE; return FALSE;
} }
@ -1912,12 +1912,12 @@ QueryServiceStatus(SC_HANDLE hService,
HandleBind(); HandleBind();
/* Call to services.exe using RPC */ /* Call to services.exe using RPC */
dwError = ScmrQueryServiceStatus(BindingHandle, dwError = RQueryServiceStatus(BindingHandle,
(unsigned int)hService, (SC_RPC_HANDLE)hService,
lpServiceStatus); lpServiceStatus);
if (dwError != ERROR_SUCCESS) if (dwError != ERROR_SUCCESS)
{ {
ERR("ScmrQueryServiceStatus() failed (Error %lu)\n", dwError); ERR("RQueryServiceStatus() failed (Error %lu)\n", dwError);
SetLastError(dwError); SetLastError(dwError);
return FALSE; return FALSE;
} }
@ -1945,15 +1945,15 @@ QueryServiceStatusEx(SC_HANDLE hService,
HandleBind(); HandleBind();
/* Call to services.exe using RPC */ /* Call to services.exe using RPC */
dwError = ScmrQueryServiceStatusEx(BindingHandle, dwError = RQueryServiceStatusEx(BindingHandle,
(unsigned int)hService, (SC_RPC_HANDLE)hService,
InfoLevel, InfoLevel,
lpBuffer, lpBuffer,
cbBufSize, cbBufSize,
pcbBytesNeeded); pcbBytesNeeded);
if (dwError != ERROR_SUCCESS) if (dwError != ERROR_SUCCESS)
{ {
ERR("ScmrQueryServiceStatusEx() failed (Error %lu)\n", dwError); ERR("RQueryServiceStatusEx() failed (Error %lu)\n", dwError);
SetLastError(dwError); SetLastError(dwError);
return FALSE; return FALSE;
} }
@ -1974,15 +1974,15 @@ StartServiceA(SC_HANDLE hService,
{ {
DWORD dwError; DWORD dwError;
dwError = ScmrStartServiceA(BindingHandle, dwError = RStartServiceA(BindingHandle,
(SC_RPC_HANDLE)hService, (SC_RPC_HANDLE)hService,
dwNumServiceArgs, dwNumServiceArgs,
(LPSTRING_PTRSA)lpServiceArgVectors); (LPSTRING_PTRSA)lpServiceArgVectors);
if (dwError != ERROR_SUCCESS) if (dwError != ERROR_SUCCESS)
{ {
ERR("ScmrStartServiceA() failed (Error %lu)\n", dwError); ERR("RStartServiceA() failed (Error %lu)\n", dwError);
SetLastError(dwError); SetLastError(dwError);
return FALSE; return FALSE;
} }
@ -2003,14 +2003,14 @@ StartServiceW(SC_HANDLE hService,
{ {
DWORD dwError; DWORD dwError;
dwError = ScmrStartServiceW(BindingHandle, dwError = RStartServiceW(BindingHandle,
(SC_RPC_HANDLE)hService, (SC_RPC_HANDLE)hService,
dwNumServiceArgs, dwNumServiceArgs,
(LPSTRING_PTRSW)lpServiceArgVectors); (LPSTRING_PTRSW)lpServiceArgVectors);
if (dwError != ERROR_SUCCESS) if (dwError != ERROR_SUCCESS)
{ {
ERR("ScmrStartServiceW() failed (Error %lu)\n", dwError); ERR("RStartServiceW() failed (Error %lu)\n", dwError);
SetLastError(dwError); SetLastError(dwError);
return FALSE; return FALSE;
} }
@ -2034,11 +2034,11 @@ UnlockServiceDatabase(SC_LOCK ScLock)
HandleBind(); HandleBind();
/* Call to services.exe using RPC */ /* Call to services.exe using RPC */
dwError = ScmrUnlockServiceDatabase(BindingHandle, dwError = RUnlockServiceDatabase(BindingHandle,
(SC_RPC_LOCK)ScLock); (SC_RPC_LOCK)ScLock);
if (dwError != ERROR_SUCCESS) if (dwError != ERROR_SUCCESS)
{ {
ERR("ScmrUnlockServiceDatabase() failed (Error %lu)\n", dwError); ERR("RUnlockServiceDatabase() failed (Error %lu)\n", dwError);
SetLastError(dwError); SetLastError(dwError);
return FALSE; return FALSE;
} }
@ -2062,9 +2062,9 @@ NotifyBootConfigStatus(BOOL BootAcceptable)
HandleBind(); HandleBind();
/* Call to services.exe using RPC */ /* Call to services.exe using RPC */
dwError = ScmrNotifyBootConfigStatus(BindingHandle, dwError = RNotifyBootConfigStatus(BindingHandle,
NULL, NULL,
BootAcceptable); BootAcceptable);
if (dwError != ERROR_SUCCESS) if (dwError != ERROR_SUCCESS)
{ {
ERR("NotifyBootConfigStatus() failed (Error %lu)\n", dwError); ERR("NotifyBootConfigStatus() failed (Error %lu)\n", dwError);

View file

@ -561,9 +561,9 @@ SetServiceStatus(SERVICE_STATUS_HANDLE hServiceStatus,
HandleBind(); HandleBind();
/* Call to services.exe using RPC */ /* Call to services.exe using RPC */
dwError = ScmrSetServiceStatus(BindingHandle, dwError = RSetServiceStatus(BindingHandle,
(unsigned long)hServiceStatus, (SC_RPC_HANDLE)hServiceStatus,
lpServiceStatus); lpServiceStatus);
if (dwError != ERROR_SUCCESS) if (dwError != ERROR_SUCCESS)
{ {
ERR("ScmrSetServiceStatus() failed (Error %lu)\n", dwError); ERR("ScmrSetServiceStatus() failed (Error %lu)\n", dwError);

View file

@ -15,8 +15,6 @@ const unsigned short SC_MAX_COMMENT_LENGTH = 128;
const unsigned short SC_MAX_ARGUMENT_LENGTH = 1024; const unsigned short SC_MAX_ARGUMENT_LENGTH = 1024;
const unsigned short SC_MAX_ARGUMENTS = 1024; const unsigned short SC_MAX_ARGUMENTS = 1024;
#define R(fn) Scmr ## fn
typedef unsigned long SECURITY_INFORMATION; typedef unsigned long SECURITY_INFORMATION;
typedef [handle] LPSTR SVCCTL_HANDLEA; typedef [handle] LPSTR SVCCTL_HANDLEA;
typedef [handle] LPWSTR SVCCTL_HANDLEW; typedef [handle] LPWSTR SVCCTL_HANDLEW;
@ -304,30 +302,30 @@ typedef struct _STRING_PTRSW {
interface svcctl interface svcctl
{ {
/* Function 0 */ /* Function 0 */
DWORD R(CloseServiceHandle) ( DWORD RCloseServiceHandle(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in, out] LPSC_RPC_HANDLE hSCObject); [in, out] LPSC_RPC_HANDLE hSCObject);
/* Function 1 */ /* Function 1 */
DWORD R(ControlService) ( DWORD RControlService(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in] SC_RPC_HANDLE hService, [in] SC_RPC_HANDLE hService,
[in] DWORD dwControl, [in] DWORD dwControl,
[out] LPSERVICE_STATUS lpServiceStatus); [out] LPSERVICE_STATUS lpServiceStatus);
/* Function 2 */ /* Function 2 */
DWORD R(DeleteService) ( DWORD RDeleteService(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in] SC_RPC_HANDLE hService); [in] SC_RPC_HANDLE hService);
/* Function 3 */ /* Function 3 */
DWORD R(LockServiceDatabase) ( DWORD RLockServiceDatabase(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in] SC_RPC_HANDLE hSCManager, [in] SC_RPC_HANDLE hSCManager,
[out] LPSC_RPC_LOCK lpLock); [out] LPSC_RPC_LOCK lpLock);
/* Function 4 */ /* Function 4 */
DWORD R(QueryServiceObjectSecurity) ( DWORD RQueryServiceObjectSecurity(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in] SC_RPC_HANDLE hService, [in] SC_RPC_HANDLE hService,
[in] SECURITY_INFORMATION dwSecurityInformation, [in] SECURITY_INFORMATION dwSecurityInformation,
@ -336,7 +334,7 @@ interface svcctl
[out] LPBOUNDED_DWORD_256K pcbBytesNeeded); [out] LPBOUNDED_DWORD_256K pcbBytesNeeded);
/* Function 5 */ /* Function 5 */
DWORD R(SetServiceObjectSecurity) ( DWORD RSetServiceObjectSecurity(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in] SC_RPC_HANDLE hService, [in] SC_RPC_HANDLE hService,
[in] DWORD dwSecurityInformation, [in] DWORD dwSecurityInformation,
@ -344,30 +342,30 @@ interface svcctl
[in] DWORD dwSecuityDescriptorSize); [in] DWORD dwSecuityDescriptorSize);
/* Function 6 */ /* Function 6 */
DWORD R(QueryServiceStatus) ( DWORD RQueryServiceStatus(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in] SC_RPC_HANDLE hService, [in] SC_RPC_HANDLE hService,
[out] LPSERVICE_STATUS lpServiceStatus); [out] LPSERVICE_STATUS lpServiceStatus);
/* Function 7 */ /* Function 7 */
DWORD R(SetServiceStatus) ( DWORD RSetServiceStatus(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in] SC_RPC_HANDLE hServiceStatus, [in] SC_RPC_HANDLE hServiceStatus,
[in] LPSERVICE_STATUS lpServiceStatus); [in] LPSERVICE_STATUS lpServiceStatus);
/* Function 8 */ /* Function 8 */
DWORD R(UnlockServiceDatabase) ( DWORD RUnlockServiceDatabase(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in, out] LPSC_RPC_LOCK Lock); [in, out] LPSC_RPC_LOCK Lock);
/* Function 9 */ /* Function 9 */
DWORD R(NotifyBootConfigStatus) ( DWORD RNotifyBootConfigStatus(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in, string, unique, range(0, SC_MAX_COMPUTER_NAME_LENGTH)] SVCCTL_HANDLEW lpMachineName, [in, string, unique, range(0, SC_MAX_COMPUTER_NAME_LENGTH)] SVCCTL_HANDLEW lpMachineName,
[in] DWORD BootAcceptable); [in] DWORD BootAcceptable);
/* Function 10 */ /* Function 10 */
DWORD R(SetServiceBitsW) ( DWORD RSetServiceBitsW(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in] SC_RPC_HANDLE hServiceStatus, [in] SC_RPC_HANDLE hServiceStatus,
[in] DWORD dwServiceBits, [in] DWORD dwServiceBits,
@ -376,7 +374,7 @@ interface svcctl
[in, string, unique] LPWSTR lpString); [in, string, unique] LPWSTR lpString);
/* Function 11 */ /* Function 11 */
DWORD R(ChangeServiceConfigW) ( DWORD RChangeServiceConfigW(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in] SC_RPC_HANDLE hService, [in] SC_RPC_HANDLE hService,
[in] DWORD dwServiceType, [in] DWORD dwServiceType,
@ -393,7 +391,7 @@ interface svcctl
[in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPWSTR lpDisplayName); [in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPWSTR lpDisplayName);
/* Function 12 */ /* Function 12 */
DWORD R(CreateServiceW) ( DWORD RCreateServiceW(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in] SC_RPC_HANDLE hSCManager, [in] SC_RPC_HANDLE hSCManager,
[in, string, range(0, SC_MAX_NAME_LENGTH)] LPWSTR lpServiceName, [in, string, range(0, SC_MAX_NAME_LENGTH)] LPWSTR lpServiceName,
@ -413,7 +411,7 @@ interface svcctl
[out] LPSC_RPC_HANDLE lpServiceHandle); [out] LPSC_RPC_HANDLE lpServiceHandle);
/* Function 13 */ /* Function 13 */
DWORD R(EnumDependentServicesW) ( DWORD REnumDependentServicesW(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in] SC_RPC_HANDLE hService, [in] SC_RPC_HANDLE hService,
[in] DWORD dwServiceState, [in] DWORD dwServiceState,
@ -423,7 +421,7 @@ interface svcctl
[out] LPBOUNDED_DWORD_256K lpServicesReturned); [out] LPBOUNDED_DWORD_256K lpServicesReturned);
/* Function 14 */ /* Function 14 */
DWORD R(EnumServicesStatusW) ( DWORD REnumServicesStatusW(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in] SC_RPC_HANDLE hSCManager, [in] SC_RPC_HANDLE hSCManager,
[in] DWORD dwServiceType, [in] DWORD dwServiceType,
@ -435,7 +433,7 @@ interface svcctl
[in, out, unique] LPBOUNDED_DWORD_256K lpResumeHandle); [in, out, unique] LPBOUNDED_DWORD_256K lpResumeHandle);
/* Function 15 */ /* Function 15 */
DWORD R(OpenSCManagerW) ( DWORD ROpenSCManagerW(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in, string, unique, range(0, SC_MAX_COMPUTER_NAME_LENGTH)] LPWSTR lpMachineName, [in, string, unique, range(0, SC_MAX_COMPUTER_NAME_LENGTH)] LPWSTR lpMachineName,
[in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPWSTR lpDatabaseName, [in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPWSTR lpDatabaseName,
@ -443,7 +441,7 @@ interface svcctl
[out] LPSC_RPC_HANDLE lpScHandle); [out] LPSC_RPC_HANDLE lpScHandle);
/* Function 16 */ /* Function 16 */
DWORD R(OpenServiceW) ( DWORD ROpenServiceW(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in] SC_RPC_HANDLE hSCManager, [in] SC_RPC_HANDLE hSCManager,
[in, string, range(0, SC_MAX_NAME_LENGTH)] LPWSTR lpServiceName, [in, string, range(0, SC_MAX_NAME_LENGTH)] LPWSTR lpServiceName,
@ -451,7 +449,7 @@ interface svcctl
[out] LPSC_RPC_HANDLE lpServiceHandle); [out] LPSC_RPC_HANDLE lpServiceHandle);
/* Function 17 */ /* Function 17 */
DWORD R(QueryServiceConfigW) ( DWORD RQueryServiceConfigW(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in] SC_RPC_HANDLE hService, [in] SC_RPC_HANDLE hService,
[out, unique, size_is(cbBufSize)] LPBYTE lpServiceConfig, [out, unique, size_is(cbBufSize)] LPBYTE lpServiceConfig,
@ -460,7 +458,7 @@ interface svcctl
[out] LPBOUNDED_DWORD_8K pcbBytesNeeded); [out] LPBOUNDED_DWORD_8K pcbBytesNeeded);
/* Function 18 */ /* Function 18 */
DWORD R(QueryServiceLockStatusW) ( DWORD RQueryServiceLockStatusW(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in] SC_RPC_HANDLE hSCManager, [in] SC_RPC_HANDLE hSCManager,
[out] LPQUERY_SERVICE_LOCK_STATUSW lpLockStatus, [out] LPQUERY_SERVICE_LOCK_STATUSW lpLockStatus,
@ -468,14 +466,14 @@ interface svcctl
[out] LPBOUNDED_DWORD_4K pcbBytesNeeded); [out] LPBOUNDED_DWORD_4K pcbBytesNeeded);
/* Function 19 */ /* Function 19 */
DWORD R(StartServiceW) ( DWORD RStartServiceW(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in] SC_RPC_HANDLE hService, [in] SC_RPC_HANDLE hService,
[in, range(0, SC_MAX_ARGUMENTS)] DWORD argc, [in, range(0, SC_MAX_ARGUMENTS)] DWORD argc,
[in, unique, size_is(argc)] LPSTRING_PTRSW argv); [in, unique, size_is(argc)] LPSTRING_PTRSW argv);
/* Function 20 */ /* Function 20 */
DWORD R(GetServiceDisplayNameW) ( DWORD RGetServiceDisplayNameW(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in] SC_RPC_HANDLE hSCManager, [in] SC_RPC_HANDLE hSCManager,
[in, string, range(0, SC_MAX_NAME_LENGTH)] LPWSTR lpServiceName, [in, string, range(0, SC_MAX_NAME_LENGTH)] LPWSTR lpServiceName,
@ -483,7 +481,7 @@ interface svcctl
[in, out] DWORD* lpcchBuffer); [in, out] DWORD* lpcchBuffer);
/* Function 21 */ /* Function 21 */
DWORD R(GetServiceKeyNameW) ( DWORD RGetServiceKeyNameW(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in] SC_RPC_HANDLE hSCManager, [in] SC_RPC_HANDLE hSCManager,
[in, string, range(0, SC_MAX_NAME_LENGTH)] LPWSTR lpDisplayName, [in, string, range(0, SC_MAX_NAME_LENGTH)] LPWSTR lpDisplayName,
@ -491,7 +489,7 @@ interface svcctl
[in, out] DWORD* lpcchBuffer); [in, out] DWORD* lpcchBuffer);
/* Function 22 */ /* Function 22 */
DWORD R(SetServiceBitsA) ( DWORD RSetServiceBitsA(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in] SC_RPC_HANDLE hServiceStatus, [in] SC_RPC_HANDLE hServiceStatus,
[in] DWORD dwServiceBits, [in] DWORD dwServiceBits,
@ -500,7 +498,7 @@ interface svcctl
[in, string, unique] LPSTR lpString); [in, string, unique] LPSTR lpString);
/* Function 23 */ /* Function 23 */
DWORD R(ChangeServiceConfigA) ( DWORD RChangeServiceConfigA(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in] SC_RPC_HANDLE hService, [in] SC_RPC_HANDLE hService,
[in] DWORD dwServiceType, [in] DWORD dwServiceType,
@ -517,7 +515,7 @@ interface svcctl
[in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPSTR lpDisplayName); [in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPSTR lpDisplayName);
/* Function 24 */ /* Function 24 */
DWORD R(CreateServiceA) ( DWORD RCreateServiceA(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in] SC_RPC_HANDLE hSCManager, [in] SC_RPC_HANDLE hSCManager,
[in, string, range(0, SC_MAX_NAME_LENGTH)] LPSTR lpServiceName, [in, string, range(0, SC_MAX_NAME_LENGTH)] LPSTR lpServiceName,
@ -537,7 +535,7 @@ interface svcctl
[out] LPSC_RPC_HANDLE lpServiceHandle); [out] LPSC_RPC_HANDLE lpServiceHandle);
/* Function 25 */ /* Function 25 */
DWORD R(EnumDependentServicesA) ( DWORD REnumDependentServicesA(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in] SC_RPC_HANDLE hService, [in] SC_RPC_HANDLE hService,
[in] DWORD dwServiceState, [in] DWORD dwServiceState,
@ -547,7 +545,7 @@ interface svcctl
[out] LPBOUNDED_DWORD_256K lpServicesReturned); [out] LPBOUNDED_DWORD_256K lpServicesReturned);
/* Function 26 */ /* Function 26 */
DWORD R(EnumServicesStatusA) ( DWORD REnumServicesStatusA(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in] SC_RPC_HANDLE hSCManager, [in] SC_RPC_HANDLE hSCManager,
[in] DWORD dwServiceType, [in] DWORD dwServiceType,
@ -559,7 +557,7 @@ interface svcctl
[in, out, unique] LPBOUNDED_DWORD_256K lpResumeHandle); [in, out, unique] LPBOUNDED_DWORD_256K lpResumeHandle);
/* Function 27 */ /* Function 27 */
DWORD R(OpenSCManagerA) ( DWORD ROpenSCManagerA(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in, string, unique, range(0, SC_MAX_COMPUTER_NAME_LENGTH)] LPSTR lpMachineName, [in, string, unique, range(0, SC_MAX_COMPUTER_NAME_LENGTH)] LPSTR lpMachineName,
[in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPSTR lpDatabaseName, [in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPSTR lpDatabaseName,
@ -567,7 +565,7 @@ interface svcctl
[out] LPSC_RPC_HANDLE lpScHandle); [out] LPSC_RPC_HANDLE lpScHandle);
/* Function 28 */ /* Function 28 */
DWORD R(OpenServiceA) ( DWORD ROpenServiceA(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in] SC_RPC_HANDLE hSCManager, [in] SC_RPC_HANDLE hSCManager,
[in, string, range(0, SC_MAX_NAME_LENGTH)] LPSTR lpServiceName, [in, string, range(0, SC_MAX_NAME_LENGTH)] LPSTR lpServiceName,
@ -575,7 +573,7 @@ interface svcctl
[out] LPSC_RPC_HANDLE lpServiceHandle); [out] LPSC_RPC_HANDLE lpServiceHandle);
/* Function 29 */ /* Function 29 */
DWORD R(QueryServiceConfigA) ( DWORD RQueryServiceConfigA(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in] SC_RPC_HANDLE hService, [in] SC_RPC_HANDLE hService,
[out] LPQUERY_SERVICE_CONFIGA lpServiceConfig, [out] LPQUERY_SERVICE_CONFIGA lpServiceConfig,
@ -583,7 +581,7 @@ interface svcctl
[out] LPBOUNDED_DWORD_8K pcbBytesNeeded); [out] LPBOUNDED_DWORD_8K pcbBytesNeeded);
/* Function 30 */ /* Function 30 */
DWORD R(QueryServiceLockStatusA) ( DWORD RQueryServiceLockStatusA(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in] SC_RPC_HANDLE hSCManager, [in] SC_RPC_HANDLE hSCManager,
[out] LPQUERY_SERVICE_LOCK_STATUSA lpLockStatus, [out] LPQUERY_SERVICE_LOCK_STATUSA lpLockStatus,
@ -591,14 +589,14 @@ interface svcctl
[out] LPBOUNDED_DWORD_4K pcbBytesNeeded); [out] LPBOUNDED_DWORD_4K pcbBytesNeeded);
/* Function 31 */ /* Function 31 */
DWORD R(StartServiceA) ( DWORD RStartServiceA(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in] SC_RPC_HANDLE hService, [in] SC_RPC_HANDLE hService,
[in, range(0, SC_MAX_ARGUMENTS)] DWORD argc, [in, range(0, SC_MAX_ARGUMENTS)] DWORD argc,
[in, unique, size_is(argc)] LPSTRING_PTRSA argv); [in, unique, size_is(argc)] LPSTRING_PTRSA argv);
/* Function 32 */ /* Function 32 */
DWORD R(GetServiceDisplayNameA) ( DWORD RGetServiceDisplayNameA(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in] SC_RPC_HANDLE hSCManager, [in] SC_RPC_HANDLE hSCManager,
[in, string, range(0, SC_MAX_NAME_LENGTH)] LPSTR lpServiceName, [in, string, range(0, SC_MAX_NAME_LENGTH)] LPSTR lpServiceName,
@ -606,7 +604,7 @@ interface svcctl
[in, out] LPBOUNDED_DWORD_4K lpcchBuffer); [in, out] LPBOUNDED_DWORD_4K lpcchBuffer);
/* Function 33 */ /* Function 33 */
DWORD R(GetServiceKeyNameA) ( DWORD RGetServiceKeyNameA(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in] SC_RPC_HANDLE hSCManager, [in] SC_RPC_HANDLE hSCManager,
[in, string, range(0, SC_MAX_NAME_LENGTH)] LPSTR lpDisplayName, [in, string, range(0, SC_MAX_NAME_LENGTH)] LPSTR lpDisplayName,
@ -614,11 +612,11 @@ interface svcctl
[in, out] LPBOUNDED_DWORD_4K lpcchBuffer); [in, out] LPBOUNDED_DWORD_4K lpcchBuffer);
/* Function 34 */ /* Function 34 */
DWORD R(GetCurrentGroupStateW) ( DWORD RGetCurrentGroupStateW(
[in] handle_t BindingHandle); /* FIXME */ [in] handle_t BindingHandle); /* FIXME */
/* Function 35 */ /* Function 35 */
DWORD R(EnumServiceGroupW) ( DWORD REnumServiceGroupW(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in] SC_RPC_HANDLE hSCManager, [in] SC_RPC_HANDLE hSCManager,
[in] DWORD dwServiceType, [in] DWORD dwServiceType,
@ -631,19 +629,19 @@ interface svcctl
[in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPCWSTR pszGroupName); [in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPCWSTR pszGroupName);
/* Function 36 */ /* Function 36 */
DWORD R(ChangeServiceConfig2A) ( DWORD RChangeServiceConfig2A(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in] SC_RPC_HANDLE hService, [in] SC_RPC_HANDLE hService,
[in] SC_RPC_CONFIG_INFOA Info); [in] SC_RPC_CONFIG_INFOA Info);
/* Function 37 */ /* Function 37 */
DWORD R(ChangeServiceConfig2W) ( DWORD RChangeServiceConfig2W(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in] SC_RPC_HANDLE hService, [in] SC_RPC_HANDLE hService,
[in] SC_RPC_CONFIG_INFOW Info); [in] SC_RPC_CONFIG_INFOW Info);
/* Function 38 */ /* Function 38 */
DWORD R(QueryServiceConfig2A) ( DWORD RQueryServiceConfig2A(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in] SC_RPC_HANDLE hService, [in] SC_RPC_HANDLE hService,
[in] DWORD dwInfoLevel, [in] DWORD dwInfoLevel,
@ -652,7 +650,7 @@ interface svcctl
[out] LPBOUNDED_DWORD_8K pcbBytesNeeded); [out] LPBOUNDED_DWORD_8K pcbBytesNeeded);
/* Function 39 */ /* Function 39 */
DWORD R(QueryServiceConfig2W) ( DWORD RQueryServiceConfig2W(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in] SC_RPC_HANDLE hService, [in] SC_RPC_HANDLE hService,
[in] DWORD dwInfoLevel, [in] DWORD dwInfoLevel,
@ -661,7 +659,7 @@ interface svcctl
[out] LPBOUNDED_DWORD_8K pcbBytesNeeded); [out] LPBOUNDED_DWORD_8K pcbBytesNeeded);
/* Function 40 */ /* Function 40 */
DWORD R(QueryServiceStatusEx) ( DWORD RQueryServiceStatusEx(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in] SC_RPC_HANDLE hService, [in] SC_RPC_HANDLE hService,
[in] SC_STATUS_TYPE InfoLevel, [in] SC_STATUS_TYPE InfoLevel,
@ -670,7 +668,7 @@ interface svcctl
[out] LPBOUNDED_DWORD_8K pcbBytesNeeded); [out] LPBOUNDED_DWORD_8K pcbBytesNeeded);
/* Function 41 */ /* Function 41 */
DWORD R(EnumServicesStatusExA) ( DWORD REnumServicesStatusExA(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in] SC_RPC_HANDLE hSCManager, [in] SC_RPC_HANDLE hSCManager,
[in] SC_ENUM_TYPE InfoLevel, [in] SC_ENUM_TYPE InfoLevel,
@ -684,7 +682,7 @@ interface svcctl
[in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPCSTR pszGroupName); [in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPCSTR pszGroupName);
/* Function 42 */ /* Function 42 */
DWORD R(EnumServicesStatusExW) ( DWORD REnumServicesStatusExW(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in] SC_RPC_HANDLE hSCManager, [in] SC_RPC_HANDLE hSCManager,
[in] SC_ENUM_TYPE InfoLevel, [in] SC_ENUM_TYPE InfoLevel,
@ -698,11 +696,11 @@ interface svcctl
[in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPCWSTR pszGroupName); [in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPCWSTR pszGroupName);
/* Function 43 */ /* Function 43 */
DWORD R(SendTSMessage) ( DWORD RSendTSMessage(
[in] handle_t BindingHandle); /* FIXME */ [in] handle_t BindingHandle); /* FIXME */
/* Function 44 */ /* Function 44 */
DWORD R(CreateServiceWOW64A) ( DWORD RCreateServiceWOW64A(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in, string, range(0, SC_MAX_NAME_LENGTH)] LPSTR lpServiceName, [in, string, range(0, SC_MAX_NAME_LENGTH)] LPSTR lpServiceName,
[in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPSTR lpDisplayName, [in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPSTR lpDisplayName,
@ -721,7 +719,7 @@ interface svcctl
[out] LPSC_RPC_HANDLE lpServiceHandle); [out] LPSC_RPC_HANDLE lpServiceHandle);
/* Function 45 */ /* Function 45 */
DWORD R(CreateServiceWOW64W) ( DWORD RCreateServiceWOW64W(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in, string, range(0, SC_MAX_NAME_LENGTH)] LPWSTR lpServiceName, [in, string, range(0, SC_MAX_NAME_LENGTH)] LPWSTR lpServiceName,
[in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPWSTR lpDisplayName, [in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPWSTR lpDisplayName,
@ -740,11 +738,11 @@ interface svcctl
[out] LPSC_RPC_HANDLE lpServiceHandle); [out] LPSC_RPC_HANDLE lpServiceHandle);
/* Function 46 */ /* Function 46 */
DWORD R(Function46) ( DWORD RQueryServiceTagInfo(
[in] handle_t BindingHandle); /* FIXME */ [in] handle_t BindingHandle); /* FIXME */
/* Function 47 */ /* Function 47 */
DWORD R(NotifyServiceStatusChange) ( DWORD RNotifyServiceStatusChange(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in] SC_RPC_HANDLE hService, [in] SC_RPC_HANDLE hService,
[in] SC_RPC_NOTIFY_PARAMS NotifyParams, [in] SC_RPC_NOTIFY_PARAMS NotifyParams,
@ -754,19 +752,19 @@ interface svcctl
[out] LPSC_NOTIFY_RPC_HANDLE phNotify); [out] LPSC_NOTIFY_RPC_HANDLE phNotify);
/* Function 48 */ /* Function 48 */
DWORD R(GetNotifyResults) ( DWORD RGetNotifyResults(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in] SC_NOTIFY_RPC_HANDLE hNotify, [in] SC_NOTIFY_RPC_HANDLE hNotify,
[out] PSC_RPC_NOTIFY_PARAMS_LIST *ppNotifyParams); [out] PSC_RPC_NOTIFY_PARAMS_LIST *ppNotifyParams);
/* Function 49 */ /* Function 49 */
DWORD R(CloseNotifyHandle) ( DWORD RCloseNotifyHandle(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in, out] LPSC_NOTIFY_RPC_HANDLE phNotify, [in, out] LPSC_NOTIFY_RPC_HANDLE phNotify,
[out] PBOOL pfApcFired); [out] PBOOL pfApcFired);
/* Function 50 */ /* Function 50 */
DWORD R(ControlServiceExA) ( DWORD RControlServiceExA(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in] SC_RPC_HANDLE hService, [in] SC_RPC_HANDLE hService,
[in] DWORD dwControl, [in] DWORD dwControl,
@ -775,7 +773,7 @@ interface svcctl
[out, switch_is(dwInfoLevel)] PSC_RPC_SERVICE_CONTROL_IN_PARAMSA pControlOutParams*/); [out, switch_is(dwInfoLevel)] PSC_RPC_SERVICE_CONTROL_IN_PARAMSA pControlOutParams*/);
/* Function 51 */ /* Function 51 */
DWORD R(ControlServiceExW) ( DWORD RControlServiceExW(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in] SC_RPC_HANDLE hService, [in] SC_RPC_HANDLE hService,
[in] DWORD dwControl, [in] DWORD dwControl,
@ -784,18 +782,18 @@ interface svcctl
[out, switch_is(dwInfoLevel)] PSC_RPC_SERVICE_CONTROL_IN_PARAMSW pControlOutParams*/); [out, switch_is(dwInfoLevel)] PSC_RPC_SERVICE_CONTROL_IN_PARAMSW pControlOutParams*/);
/* Function 52 */ /* Function 52 */
DWORD R(Function52) ( DWORD RSendPnPMessage(
[in] handle_t BindingHandle); /* FIXME */ [in] handle_t BindingHandle); /* FIXME */
/* Function 53 */ /* Function 53 */
DWORD R(Function53) ( DWORD RValidatePnPService(
[in] handle_t BindingHandle); /* FIXME */ [in] handle_t BindingHandle); /* FIXME */
/* Function 54 */ /* Function 54 */
DWORD R(Function54) ( DWORD ROpenServiceStatusHandle(
[in] handle_t BindingHandle); /* FIXME */ [in] handle_t BindingHandle); /* FIXME */
/* Function 55 */ /* Function 55 */
DWORD R(Function55) ( DWORD RFunction55(
[in] handle_t BindingHandle); /* FIXME */ [in] handle_t BindingHandle); /* FIXME */
} }