mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 17:42:58 +00:00
Service Manager:
- Get rid of the globally created binding handle and use the WIDL-generated custom binding handles and context handles instead. The other RPC interfaces will be converted as soon as possible. svn path=/trunk/; revision=36991
This commit is contained in:
parent
323b029e49
commit
725ff32421
4 changed files with 54 additions and 331 deletions
|
@ -400,7 +400,6 @@ Int_EnumDependentServicesW(HKEY hServicesKey,
|
||||||
|
|
||||||
/* Function 0 */
|
/* Function 0 */
|
||||||
DWORD RCloseServiceHandle(
|
DWORD RCloseServiceHandle(
|
||||||
handle_t BindingHandle,
|
|
||||||
LPSC_RPC_HANDLE hSCObject)
|
LPSC_RPC_HANDLE hSCObject)
|
||||||
{
|
{
|
||||||
PMANAGER_HANDLE hManager;
|
PMANAGER_HANDLE hManager;
|
||||||
|
@ -526,7 +525,6 @@ DWORD RCloseServiceHandle(
|
||||||
|
|
||||||
/* Function 1 */
|
/* Function 1 */
|
||||||
DWORD RControlService(
|
DWORD RControlService(
|
||||||
handle_t BindingHandle,
|
|
||||||
SC_RPC_HANDLE hService,
|
SC_RPC_HANDLE hService,
|
||||||
DWORD dwControl,
|
DWORD dwControl,
|
||||||
LPSERVICE_STATUS lpServiceStatus)
|
LPSERVICE_STATUS lpServiceStatus)
|
||||||
|
@ -657,7 +655,6 @@ DWORD RControlService(
|
||||||
|
|
||||||
/* Function 2 */
|
/* Function 2 */
|
||||||
DWORD RDeleteService(
|
DWORD RDeleteService(
|
||||||
handle_t BindingHandle,
|
|
||||||
SC_RPC_HANDLE hService)
|
SC_RPC_HANDLE hService)
|
||||||
{
|
{
|
||||||
PSERVICE_HANDLE hSvc;
|
PSERVICE_HANDLE hSvc;
|
||||||
|
@ -707,7 +704,6 @@ DWORD RDeleteService(
|
||||||
|
|
||||||
/* Function 3 */
|
/* Function 3 */
|
||||||
DWORD RLockServiceDatabase(
|
DWORD RLockServiceDatabase(
|
||||||
handle_t BindingHandle,
|
|
||||||
SC_RPC_HANDLE hSCManager,
|
SC_RPC_HANDLE hSCManager,
|
||||||
LPSC_RPC_LOCK lpLock)
|
LPSC_RPC_LOCK lpLock)
|
||||||
{
|
{
|
||||||
|
@ -736,7 +732,6 @@ DWORD RLockServiceDatabase(
|
||||||
|
|
||||||
/* Function 4 */
|
/* Function 4 */
|
||||||
DWORD RQueryServiceObjectSecurity(
|
DWORD RQueryServiceObjectSecurity(
|
||||||
handle_t BindingHandle,
|
|
||||||
SC_RPC_HANDLE hService,
|
SC_RPC_HANDLE hService,
|
||||||
SECURITY_INFORMATION dwSecurityInformation,
|
SECURITY_INFORMATION dwSecurityInformation,
|
||||||
LPBYTE lpSecurityDescriptor,
|
LPBYTE lpSecurityDescriptor,
|
||||||
|
@ -820,7 +815,6 @@ DWORD RQueryServiceObjectSecurity(
|
||||||
|
|
||||||
/* Function 5 */
|
/* Function 5 */
|
||||||
DWORD RSetServiceObjectSecurity(
|
DWORD RSetServiceObjectSecurity(
|
||||||
handle_t BindingHandle,
|
|
||||||
SC_RPC_HANDLE hService,
|
SC_RPC_HANDLE hService,
|
||||||
DWORD dwSecurityInformation,
|
DWORD dwSecurityInformation,
|
||||||
LPBYTE lpSecurityDescriptor,
|
LPBYTE lpSecurityDescriptor,
|
||||||
|
@ -940,7 +934,6 @@ Done:
|
||||||
|
|
||||||
/* Function 6 */
|
/* Function 6 */
|
||||||
DWORD RQueryServiceStatus(
|
DWORD RQueryServiceStatus(
|
||||||
handle_t BindingHandle,
|
|
||||||
SC_RPC_HANDLE hService,
|
SC_RPC_HANDLE hService,
|
||||||
LPSERVICE_STATUS lpServiceStatus)
|
LPSERVICE_STATUS lpServiceStatus)
|
||||||
{
|
{
|
||||||
|
@ -1004,7 +997,6 @@ ScmIsValidServiceState(DWORD dwCurrentState)
|
||||||
|
|
||||||
/* Function 7 */
|
/* Function 7 */
|
||||||
DWORD RSetServiceStatus(
|
DWORD RSetServiceStatus(
|
||||||
// handle_t BindingHandle,
|
|
||||||
RPC_SERVICE_STATUS_HANDLE hServiceStatus,
|
RPC_SERVICE_STATUS_HANDLE hServiceStatus,
|
||||||
LPSERVICE_STATUS lpServiceStatus)
|
LPSERVICE_STATUS lpServiceStatus)
|
||||||
{
|
{
|
||||||
|
@ -1070,7 +1062,6 @@ DWORD RSetServiceStatus(
|
||||||
|
|
||||||
/* Function 8 */
|
/* Function 8 */
|
||||||
DWORD RUnlockServiceDatabase(
|
DWORD RUnlockServiceDatabase(
|
||||||
handle_t BindingHandle,
|
|
||||||
LPSC_RPC_LOCK Lock)
|
LPSC_RPC_LOCK Lock)
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED;
|
UNIMPLEMENTED;
|
||||||
|
@ -1080,7 +1071,6 @@ DWORD RUnlockServiceDatabase(
|
||||||
|
|
||||||
/* Function 9 */
|
/* Function 9 */
|
||||||
DWORD RNotifyBootConfigStatus(
|
DWORD RNotifyBootConfigStatus(
|
||||||
handle_t BindingHandle,
|
|
||||||
SVCCTL_HANDLEW lpMachineName,
|
SVCCTL_HANDLEW lpMachineName,
|
||||||
DWORD BootAcceptable)
|
DWORD BootAcceptable)
|
||||||
{
|
{
|
||||||
|
@ -1091,7 +1081,6 @@ DWORD RNotifyBootConfigStatus(
|
||||||
|
|
||||||
/* Function 10 */
|
/* Function 10 */
|
||||||
DWORD RI_ScSetServiceBitsW(
|
DWORD RI_ScSetServiceBitsW(
|
||||||
// handle_t BindingHandle,
|
|
||||||
RPC_SERVICE_STATUS_HANDLE hServiceStatus,
|
RPC_SERVICE_STATUS_HANDLE hServiceStatus,
|
||||||
DWORD dwServiceBits,
|
DWORD dwServiceBits,
|
||||||
int bSetBitsOn,
|
int bSetBitsOn,
|
||||||
|
@ -1105,7 +1094,6 @@ DWORD RI_ScSetServiceBitsW(
|
||||||
|
|
||||||
/* Function 11 */
|
/* Function 11 */
|
||||||
DWORD RChangeServiceConfigW(
|
DWORD RChangeServiceConfigW(
|
||||||
handle_t BindingHandle,
|
|
||||||
SC_RPC_HANDLE hService,
|
SC_RPC_HANDLE hService,
|
||||||
DWORD dwServiceType,
|
DWORD dwServiceType,
|
||||||
DWORD dwStartType,
|
DWORD dwStartType,
|
||||||
|
@ -1715,7 +1703,6 @@ ScmCanonDriverImagePath(DWORD dwStartType,
|
||||||
|
|
||||||
/* Function 12 */
|
/* Function 12 */
|
||||||
DWORD RCreateServiceW(
|
DWORD RCreateServiceW(
|
||||||
handle_t BindingHandle,
|
|
||||||
SC_RPC_HANDLE hSCManager,
|
SC_RPC_HANDLE hSCManager,
|
||||||
LPWSTR lpServiceName,
|
LPWSTR lpServiceName,
|
||||||
LPWSTR lpDisplayName,
|
LPWSTR lpDisplayName,
|
||||||
|
@ -2051,7 +2038,6 @@ done:;
|
||||||
|
|
||||||
/* Function 13 */
|
/* Function 13 */
|
||||||
DWORD REnumDependentServicesW(
|
DWORD REnumDependentServicesW(
|
||||||
handle_t BindingHandle,
|
|
||||||
SC_RPC_HANDLE hService,
|
SC_RPC_HANDLE hService,
|
||||||
DWORD dwServiceState,
|
DWORD dwServiceState,
|
||||||
LPBYTE lpServices,
|
LPBYTE lpServices,
|
||||||
|
@ -2181,7 +2167,6 @@ Done:
|
||||||
|
|
||||||
/* Function 14 */
|
/* Function 14 */
|
||||||
DWORD REnumServicesStatusW(
|
DWORD REnumServicesStatusW(
|
||||||
handle_t BindingHandle,
|
|
||||||
SC_RPC_HANDLE hSCManager,
|
SC_RPC_HANDLE hSCManager,
|
||||||
DWORD dwServiceType,
|
DWORD dwServiceType,
|
||||||
DWORD dwServiceState,
|
DWORD dwServiceState,
|
||||||
|
@ -2388,7 +2373,6 @@ Done:;
|
||||||
|
|
||||||
/* Function 15 */
|
/* Function 15 */
|
||||||
DWORD ROpenSCManagerW(
|
DWORD ROpenSCManagerW(
|
||||||
// handle_t BindingHandle,
|
|
||||||
LPWSTR lpMachineName,
|
LPWSTR lpMachineName,
|
||||||
LPWSTR lpDatabaseName,
|
LPWSTR lpDatabaseName,
|
||||||
DWORD dwDesiredAccess,
|
DWORD dwDesiredAccess,
|
||||||
|
@ -2439,7 +2423,6 @@ DWORD ROpenSCManagerW(
|
||||||
|
|
||||||
/* Function 16 */
|
/* Function 16 */
|
||||||
DWORD ROpenServiceW(
|
DWORD ROpenServiceW(
|
||||||
handle_t BindingHandle,
|
|
||||||
SC_RPC_HANDLE hSCManager,
|
SC_RPC_HANDLE hSCManager,
|
||||||
LPWSTR lpServiceName,
|
LPWSTR lpServiceName,
|
||||||
DWORD dwDesiredAccess,
|
DWORD dwDesiredAccess,
|
||||||
|
@ -2515,7 +2498,6 @@ DWORD ROpenServiceW(
|
||||||
|
|
||||||
/* Function 17 */
|
/* Function 17 */
|
||||||
DWORD RQueryServiceConfigW(
|
DWORD RQueryServiceConfigW(
|
||||||
handle_t BindingHandle,
|
|
||||||
SC_RPC_HANDLE hService,
|
SC_RPC_HANDLE hService,
|
||||||
LPBYTE lpBuf, //LPQUERY_SERVICE_CONFIGW lpServiceConfig,
|
LPBYTE lpBuf, //LPQUERY_SERVICE_CONFIGW lpServiceConfig,
|
||||||
DWORD cbBufSize,
|
DWORD cbBufSize,
|
||||||
|
@ -2692,7 +2674,6 @@ Done:;
|
||||||
|
|
||||||
/* Function 18 */
|
/* Function 18 */
|
||||||
DWORD RQueryServiceLockStatusW(
|
DWORD RQueryServiceLockStatusW(
|
||||||
handle_t BindingHandle,
|
|
||||||
SC_RPC_HANDLE hSCManager,
|
SC_RPC_HANDLE hSCManager,
|
||||||
LPQUERY_SERVICE_LOCK_STATUSW lpLockStatus,
|
LPQUERY_SERVICE_LOCK_STATUSW lpLockStatus,
|
||||||
DWORD cbBufSize,
|
DWORD cbBufSize,
|
||||||
|
@ -2705,7 +2686,6 @@ DWORD RQueryServiceLockStatusW(
|
||||||
|
|
||||||
/* Function 19 */
|
/* Function 19 */
|
||||||
DWORD RStartServiceW(
|
DWORD RStartServiceW(
|
||||||
handle_t BindingHandle,
|
|
||||||
SC_RPC_HANDLE hService,
|
SC_RPC_HANDLE hService,
|
||||||
DWORD argc,
|
DWORD argc,
|
||||||
LPSTRING_PTRSW argv)
|
LPSTRING_PTRSW argv)
|
||||||
|
@ -2760,7 +2740,6 @@ DWORD RStartServiceW(
|
||||||
|
|
||||||
/* Function 20 */
|
/* Function 20 */
|
||||||
DWORD RGetServiceDisplayNameW(
|
DWORD RGetServiceDisplayNameW(
|
||||||
handle_t BindingHandle,
|
|
||||||
SC_RPC_HANDLE hSCManager,
|
SC_RPC_HANDLE hSCManager,
|
||||||
LPWSTR lpServiceName,
|
LPWSTR lpServiceName,
|
||||||
LPWSTR lpDisplayName,
|
LPWSTR lpDisplayName,
|
||||||
|
@ -2832,7 +2811,6 @@ DWORD RGetServiceDisplayNameW(
|
||||||
|
|
||||||
/* Function 21 */
|
/* Function 21 */
|
||||||
DWORD RGetServiceKeyNameW(
|
DWORD RGetServiceKeyNameW(
|
||||||
handle_t BindingHandle,
|
|
||||||
SC_RPC_HANDLE hSCManager,
|
SC_RPC_HANDLE hSCManager,
|
||||||
LPWSTR lpDisplayName,
|
LPWSTR lpDisplayName,
|
||||||
LPWSTR lpServiceName,
|
LPWSTR lpServiceName,
|
||||||
|
@ -2893,7 +2871,6 @@ DWORD RGetServiceKeyNameW(
|
||||||
|
|
||||||
/* Function 22 */
|
/* Function 22 */
|
||||||
DWORD RI_ScSetServiceBitsA(
|
DWORD RI_ScSetServiceBitsA(
|
||||||
// handle_t BindingHandle,
|
|
||||||
RPC_SERVICE_STATUS_HANDLE hServiceStatus,
|
RPC_SERVICE_STATUS_HANDLE hServiceStatus,
|
||||||
DWORD dwServiceBits,
|
DWORD dwServiceBits,
|
||||||
int bSetBitsOn,
|
int bSetBitsOn,
|
||||||
|
@ -2907,7 +2884,6 @@ DWORD RI_ScSetServiceBitsA(
|
||||||
|
|
||||||
/* Function 23 */
|
/* Function 23 */
|
||||||
DWORD RChangeServiceConfigA(
|
DWORD RChangeServiceConfigA(
|
||||||
handle_t BindingHandle,
|
|
||||||
SC_RPC_HANDLE hService,
|
SC_RPC_HANDLE hService,
|
||||||
DWORD dwServiceType,
|
DWORD dwServiceType,
|
||||||
DWORD dwStartType,
|
DWORD dwStartType,
|
||||||
|
@ -3192,7 +3168,6 @@ done:
|
||||||
|
|
||||||
/* Function 24 */
|
/* Function 24 */
|
||||||
DWORD RCreateServiceA(
|
DWORD RCreateServiceA(
|
||||||
handle_t BindingHandle,
|
|
||||||
SC_RPC_HANDLE hSCManager,
|
SC_RPC_HANDLE hSCManager,
|
||||||
LPSTR lpServiceName,
|
LPSTR lpServiceName,
|
||||||
LPSTR lpDisplayName,
|
LPSTR lpDisplayName,
|
||||||
|
@ -3217,7 +3192,6 @@ DWORD RCreateServiceA(
|
||||||
|
|
||||||
/* Function 25 */
|
/* Function 25 */
|
||||||
DWORD REnumDependentServicesA(
|
DWORD REnumDependentServicesA(
|
||||||
handle_t BindingHandle,
|
|
||||||
SC_RPC_HANDLE hService,
|
SC_RPC_HANDLE hService,
|
||||||
DWORD dwServiceState,
|
DWORD dwServiceState,
|
||||||
LPBYTE lpServices,
|
LPBYTE lpServices,
|
||||||
|
@ -3365,7 +3339,6 @@ Done:
|
||||||
|
|
||||||
/* Function 26 */
|
/* Function 26 */
|
||||||
DWORD REnumServicesStatusA(
|
DWORD REnumServicesStatusA(
|
||||||
handle_t BindingHandle,
|
|
||||||
SC_RPC_HANDLE hSCManager,
|
SC_RPC_HANDLE hSCManager,
|
||||||
DWORD dwServiceType,
|
DWORD dwServiceType,
|
||||||
DWORD dwServiceState,
|
DWORD dwServiceState,
|
||||||
|
@ -3394,7 +3367,7 @@ DWORD REnumServicesStatusA(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dwError = REnumServicesStatusW(BindingHandle,
|
dwError = REnumServicesStatusW(//BindingHandle,
|
||||||
hSCManager,
|
hSCManager,
|
||||||
dwServiceType,
|
dwServiceType,
|
||||||
dwServiceState,
|
dwServiceState,
|
||||||
|
@ -3462,7 +3435,6 @@ Done:;
|
||||||
|
|
||||||
/* Function 27 */
|
/* Function 27 */
|
||||||
DWORD ROpenSCManagerA(
|
DWORD ROpenSCManagerA(
|
||||||
// handle_t BindingHandle,
|
|
||||||
LPSTR lpMachineName,
|
LPSTR lpMachineName,
|
||||||
LPSTR lpDatabaseName,
|
LPSTR lpDatabaseName,
|
||||||
DWORD dwDesiredAccess,
|
DWORD dwDesiredAccess,
|
||||||
|
@ -3500,7 +3472,6 @@ DWORD ROpenSCManagerA(
|
||||||
|
|
||||||
/* Function 28 */
|
/* Function 28 */
|
||||||
DWORD ROpenServiceA(
|
DWORD ROpenServiceA(
|
||||||
handle_t BindingHandle,
|
|
||||||
SC_RPC_HANDLE hSCManager,
|
SC_RPC_HANDLE hSCManager,
|
||||||
LPSTR lpServiceName,
|
LPSTR lpServiceName,
|
||||||
DWORD dwDesiredAccess,
|
DWORD dwDesiredAccess,
|
||||||
|
@ -3515,7 +3486,7 @@ DWORD ROpenServiceA(
|
||||||
RtlCreateUnicodeStringFromAsciiz(&ServiceName,
|
RtlCreateUnicodeStringFromAsciiz(&ServiceName,
|
||||||
lpServiceName);
|
lpServiceName);
|
||||||
|
|
||||||
dwError = ROpenServiceW(BindingHandle,
|
dwError = ROpenServiceW(//BindingHandle,
|
||||||
hSCManager,
|
hSCManager,
|
||||||
lpServiceName ? ServiceName.Buffer : NULL,
|
lpServiceName ? ServiceName.Buffer : NULL,
|
||||||
dwDesiredAccess,
|
dwDesiredAccess,
|
||||||
|
@ -3530,7 +3501,6 @@ DWORD ROpenServiceA(
|
||||||
|
|
||||||
/* Function 29 */
|
/* Function 29 */
|
||||||
DWORD RQueryServiceConfigA(
|
DWORD RQueryServiceConfigA(
|
||||||
handle_t BindingHandle,
|
|
||||||
SC_RPC_HANDLE hService,
|
SC_RPC_HANDLE hService,
|
||||||
LPBYTE lpBuf, //LPQUERY_SERVICE_CONFIGA lpServiceConfig,
|
LPBYTE lpBuf, //LPQUERY_SERVICE_CONFIGA lpServiceConfig,
|
||||||
DWORD cbBufSize,
|
DWORD cbBufSize,
|
||||||
|
@ -3739,7 +3709,6 @@ Done:;
|
||||||
|
|
||||||
/* Function 30 */
|
/* Function 30 */
|
||||||
DWORD RQueryServiceLockStatusA(
|
DWORD RQueryServiceLockStatusA(
|
||||||
handle_t BindingHandle,
|
|
||||||
SC_RPC_HANDLE hSCManager,
|
SC_RPC_HANDLE hSCManager,
|
||||||
LPQUERY_SERVICE_LOCK_STATUSA lpLockStatus,
|
LPQUERY_SERVICE_LOCK_STATUSA lpLockStatus,
|
||||||
DWORD cbBufSize,
|
DWORD cbBufSize,
|
||||||
|
@ -3752,7 +3721,6 @@ DWORD RQueryServiceLockStatusA(
|
||||||
|
|
||||||
/* Function 31 */
|
/* Function 31 */
|
||||||
DWORD RStartServiceA(
|
DWORD RStartServiceA(
|
||||||
handle_t BindingHandle,
|
|
||||||
SC_RPC_HANDLE hService,
|
SC_RPC_HANDLE hService,
|
||||||
DWORD argc,
|
DWORD argc,
|
||||||
LPSTRING_PTRSA argv)
|
LPSTRING_PTRSA argv)
|
||||||
|
@ -3806,7 +3774,6 @@ DWORD RStartServiceA(
|
||||||
|
|
||||||
/* Function 32 */
|
/* Function 32 */
|
||||||
DWORD RGetServiceDisplayNameA(
|
DWORD RGetServiceDisplayNameA(
|
||||||
handle_t BindingHandle,
|
|
||||||
SC_RPC_HANDLE hSCManager,
|
SC_RPC_HANDLE hSCManager,
|
||||||
LPSTR lpServiceName,
|
LPSTR lpServiceName,
|
||||||
LPSTR lpDisplayName,
|
LPSTR lpDisplayName,
|
||||||
|
@ -3908,7 +3875,6 @@ DWORD RGetServiceDisplayNameA(
|
||||||
|
|
||||||
/* Function 33 */
|
/* Function 33 */
|
||||||
DWORD RGetServiceKeyNameA(
|
DWORD RGetServiceKeyNameA(
|
||||||
handle_t BindingHandle,
|
|
||||||
SC_RPC_HANDLE hSCManager,
|
SC_RPC_HANDLE hSCManager,
|
||||||
LPSTR lpDisplayName,
|
LPSTR lpDisplayName,
|
||||||
LPSTR lpServiceName,
|
LPSTR lpServiceName,
|
||||||
|
@ -3983,7 +3949,6 @@ DWORD RGetServiceKeyNameA(
|
||||||
|
|
||||||
/* Function 34 */
|
/* Function 34 */
|
||||||
DWORD RI_ScGetCurrentGroupStateW(
|
DWORD RI_ScGetCurrentGroupStateW(
|
||||||
handle_t BindingHandle,
|
|
||||||
SC_RPC_HANDLE hSCManager,
|
SC_RPC_HANDLE hSCManager,
|
||||||
LPWSTR lpLoadOrderGroup,
|
LPWSTR lpLoadOrderGroup,
|
||||||
LPDWORD lpState)
|
LPDWORD lpState)
|
||||||
|
@ -3995,7 +3960,6 @@ DWORD RI_ScGetCurrentGroupStateW(
|
||||||
|
|
||||||
/* Function 35 */
|
/* Function 35 */
|
||||||
DWORD REnumServiceGroupW(
|
DWORD REnumServiceGroupW(
|
||||||
handle_t BindingHandle,
|
|
||||||
SC_RPC_HANDLE hSCManager,
|
SC_RPC_HANDLE hSCManager,
|
||||||
DWORD dwServiceType,
|
DWORD dwServiceType,
|
||||||
DWORD dwServiceState,
|
DWORD dwServiceState,
|
||||||
|
@ -4013,7 +3977,6 @@ DWORD REnumServiceGroupW(
|
||||||
|
|
||||||
/* Function 36 */
|
/* Function 36 */
|
||||||
DWORD RChangeServiceConfig2A(
|
DWORD RChangeServiceConfig2A(
|
||||||
handle_t BindingHandle,
|
|
||||||
SC_RPC_HANDLE hService,
|
SC_RPC_HANDLE hService,
|
||||||
SC_RPC_CONFIG_INFOA Info)
|
SC_RPC_CONFIG_INFOA Info)
|
||||||
{
|
{
|
||||||
|
@ -4024,7 +3987,6 @@ DWORD RChangeServiceConfig2A(
|
||||||
|
|
||||||
/* Function 37 */
|
/* Function 37 */
|
||||||
DWORD RChangeServiceConfig2W(
|
DWORD RChangeServiceConfig2W(
|
||||||
handle_t BindingHandle,
|
|
||||||
SC_RPC_HANDLE hService,
|
SC_RPC_HANDLE hService,
|
||||||
SC_RPC_CONFIG_INFOW Info)
|
SC_RPC_CONFIG_INFOW Info)
|
||||||
{
|
{
|
||||||
|
@ -4117,7 +4079,6 @@ done:
|
||||||
|
|
||||||
/* Function 38 */
|
/* Function 38 */
|
||||||
DWORD RQueryServiceConfig2A(
|
DWORD RQueryServiceConfig2A(
|
||||||
handle_t BindingHandle,
|
|
||||||
SC_RPC_HANDLE hService,
|
SC_RPC_HANDLE hService,
|
||||||
DWORD dwInfoLevel,
|
DWORD dwInfoLevel,
|
||||||
LPBYTE lpBuffer,
|
LPBYTE lpBuffer,
|
||||||
|
@ -4225,7 +4186,6 @@ done:
|
||||||
|
|
||||||
/* Function 39 */
|
/* Function 39 */
|
||||||
DWORD RQueryServiceConfig2W(
|
DWORD RQueryServiceConfig2W(
|
||||||
handle_t BindingHandle,
|
|
||||||
SC_RPC_HANDLE hService,
|
SC_RPC_HANDLE hService,
|
||||||
DWORD dwInfoLevel,
|
DWORD dwInfoLevel,
|
||||||
LPBYTE lpBuffer,
|
LPBYTE lpBuffer,
|
||||||
|
@ -4324,7 +4284,6 @@ done:
|
||||||
|
|
||||||
/* Function 40 */
|
/* Function 40 */
|
||||||
DWORD RQueryServiceStatusEx(
|
DWORD RQueryServiceStatusEx(
|
||||||
handle_t BindingHandle,
|
|
||||||
SC_RPC_HANDLE hService,
|
SC_RPC_HANDLE hService,
|
||||||
SC_STATUS_TYPE InfoLevel,
|
SC_STATUS_TYPE InfoLevel,
|
||||||
LPBYTE lpBuffer,
|
LPBYTE lpBuffer,
|
||||||
|
@ -4385,7 +4344,6 @@ DWORD RQueryServiceStatusEx(
|
||||||
|
|
||||||
/* Function 41 */
|
/* Function 41 */
|
||||||
DWORD REnumServicesStatusExA(
|
DWORD REnumServicesStatusExA(
|
||||||
handle_t BindingHandle,
|
|
||||||
SC_RPC_HANDLE hSCManager,
|
SC_RPC_HANDLE hSCManager,
|
||||||
SC_ENUM_TYPE InfoLevel,
|
SC_ENUM_TYPE InfoLevel,
|
||||||
DWORD dwServiceType,
|
DWORD dwServiceType,
|
||||||
|
@ -4433,8 +4391,7 @@ DWORD REnumServicesStatusExA(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dwError = REnumServicesStatusExW(BindingHandle,
|
dwError = REnumServicesStatusExW(hSCManager,
|
||||||
hSCManager,
|
|
||||||
InfoLevel,
|
InfoLevel,
|
||||||
dwServiceType,
|
dwServiceType,
|
||||||
dwServiceState,
|
dwServiceState,
|
||||||
|
@ -4507,7 +4464,6 @@ Done:;
|
||||||
|
|
||||||
/* Function 42 */
|
/* Function 42 */
|
||||||
DWORD REnumServicesStatusExW(
|
DWORD REnumServicesStatusExW(
|
||||||
handle_t BindingHandle,
|
|
||||||
SC_RPC_HANDLE hSCManager,
|
SC_RPC_HANDLE hSCManager,
|
||||||
SC_ENUM_TYPE InfoLevel,
|
SC_ENUM_TYPE InfoLevel,
|
||||||
DWORD dwServiceType,
|
DWORD dwServiceType,
|
||||||
|
@ -4782,7 +4738,7 @@ Done:;
|
||||||
|
|
||||||
/* Function 43 */
|
/* Function 43 */
|
||||||
DWORD RSendTSMessage(
|
DWORD RSendTSMessage(
|
||||||
handle_t BindingHandle)
|
handle_t BindingHandle) /* FIXME */
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED;
|
UNIMPLEMENTED;
|
||||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||||
|
@ -4839,7 +4795,7 @@ DWORD RCreateServiceWOW64W(
|
||||||
|
|
||||||
/* Function 46 */
|
/* Function 46 */
|
||||||
DWORD RQueryServiceTagInfo(
|
DWORD RQueryServiceTagInfo(
|
||||||
handle_t BindingHandle)
|
handle_t BindingHandle) /* FIXME */
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED;
|
UNIMPLEMENTED;
|
||||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||||
|
@ -4848,7 +4804,6 @@ DWORD RQueryServiceTagInfo(
|
||||||
|
|
||||||
/* Function 47 */
|
/* Function 47 */
|
||||||
DWORD RNotifyServiceStatusChange(
|
DWORD RNotifyServiceStatusChange(
|
||||||
handle_t BindingHandle,
|
|
||||||
SC_RPC_HANDLE hService,
|
SC_RPC_HANDLE hService,
|
||||||
SC_RPC_NOTIFY_PARAMS NotifyParams,
|
SC_RPC_NOTIFY_PARAMS NotifyParams,
|
||||||
GUID *pClientProcessGuid,
|
GUID *pClientProcessGuid,
|
||||||
|
@ -4863,7 +4818,6 @@ DWORD RNotifyServiceStatusChange(
|
||||||
|
|
||||||
/* Function 48 */
|
/* Function 48 */
|
||||||
DWORD RGetNotifyResults(
|
DWORD RGetNotifyResults(
|
||||||
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)
|
||||||
{
|
{
|
||||||
|
@ -4874,7 +4828,6 @@ DWORD RGetNotifyResults(
|
||||||
|
|
||||||
/* Function 49 */
|
/* Function 49 */
|
||||||
DWORD RCloseNotifyHandle(
|
DWORD RCloseNotifyHandle(
|
||||||
handle_t BindingHandle,
|
|
||||||
LPSC_NOTIFY_RPC_HANDLE phNotify,
|
LPSC_NOTIFY_RPC_HANDLE phNotify,
|
||||||
PBOOL pfApcFired)
|
PBOOL pfApcFired)
|
||||||
{
|
{
|
||||||
|
@ -4885,7 +4838,6 @@ DWORD RCloseNotifyHandle(
|
||||||
|
|
||||||
/* Function 50 */
|
/* Function 50 */
|
||||||
DWORD RControlServiceExA(
|
DWORD RControlServiceExA(
|
||||||
handle_t BindingHandle,
|
|
||||||
SC_RPC_HANDLE hService,
|
SC_RPC_HANDLE hService,
|
||||||
DWORD dwControl,
|
DWORD dwControl,
|
||||||
DWORD dwInfoLevel)
|
DWORD dwInfoLevel)
|
||||||
|
@ -4897,7 +4849,6 @@ DWORD RControlServiceExA(
|
||||||
|
|
||||||
/* Function 51 */
|
/* Function 51 */
|
||||||
DWORD RControlServiceExW(
|
DWORD RControlServiceExW(
|
||||||
handle_t BindingHandle,
|
|
||||||
SC_RPC_HANDLE hService,
|
SC_RPC_HANDLE hService,
|
||||||
DWORD dwControl,
|
DWORD dwControl,
|
||||||
DWORD dwInfoLevel)
|
DWORD dwInfoLevel)
|
||||||
|
@ -4909,7 +4860,7 @@ DWORD RControlServiceExW(
|
||||||
|
|
||||||
/* Function 52 */
|
/* Function 52 */
|
||||||
DWORD RSendPnPMessage(
|
DWORD RSendPnPMessage(
|
||||||
handle_t BindingHandle)
|
handle_t BindingHandle) /* FIXME */
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED;
|
UNIMPLEMENTED;
|
||||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||||
|
@ -4918,7 +4869,7 @@ DWORD RSendPnPMessage(
|
||||||
|
|
||||||
/* Function 53 */
|
/* Function 53 */
|
||||||
DWORD RValidatePnPService(
|
DWORD RValidatePnPService(
|
||||||
handle_t BindingHandle)
|
handle_t BindingHandle) /* FIXME */
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED;
|
UNIMPLEMENTED;
|
||||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||||
|
@ -4927,7 +4878,7 @@ DWORD RValidatePnPService(
|
||||||
|
|
||||||
/* Function 54 */
|
/* Function 54 */
|
||||||
DWORD ROpenServiceStatusHandle(
|
DWORD ROpenServiceStatusHandle(
|
||||||
handle_t BindingHandle)
|
handle_t BindingHandle) /* FIXME */
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED;
|
UNIMPLEMENTED;
|
||||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||||
|
@ -4936,7 +4887,7 @@ DWORD ROpenServiceStatusHandle(
|
||||||
|
|
||||||
/* Function 55 */
|
/* Function 55 */
|
||||||
DWORD RFunction55(
|
DWORD RFunction55(
|
||||||
handle_t BindingHandle)
|
handle_t BindingHandle) /* FIXME */
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED;
|
UNIMPLEMENTED;
|
||||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||||
|
@ -4969,5 +4920,4 @@ void __RPC_USER SC_NOTIFY_RPC_HANDLE_rundown(SC_NOTIFY_RPC_HANDLE hNotify)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
|
@ -21,62 +21,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(advapi);
|
||||||
|
|
||||||
/* FUNCTIONS *****************************************************************/
|
/* FUNCTIONS *****************************************************************/
|
||||||
|
|
||||||
handle_t BindingHandle = NULL;
|
|
||||||
|
|
||||||
VOID
|
|
||||||
HandleBind(VOID)
|
|
||||||
{
|
|
||||||
LPWSTR pszStringBinding;
|
|
||||||
RPC_STATUS status;
|
|
||||||
|
|
||||||
if (BindingHandle != NULL)
|
|
||||||
return;
|
|
||||||
|
|
||||||
status = RpcStringBindingComposeW(NULL,
|
|
||||||
L"ncacn_np",
|
|
||||||
NULL,
|
|
||||||
L"\\pipe\\ntsvcs",
|
|
||||||
NULL,
|
|
||||||
&pszStringBinding);
|
|
||||||
if (status)
|
|
||||||
{
|
|
||||||
TRACE("RpcStringBindingCompose returned 0x%x\n", status);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Set the binding handle that will be used to bind to the server. */
|
|
||||||
status = RpcBindingFromStringBindingW(pszStringBinding,
|
|
||||||
&BindingHandle);
|
|
||||||
if (status)
|
|
||||||
{
|
|
||||||
TRACE("RpcBindingFromStringBinding returned 0x%x\n", status);
|
|
||||||
}
|
|
||||||
|
|
||||||
status = RpcStringFreeW(&pszStringBinding);
|
|
||||||
if (status)
|
|
||||||
{
|
|
||||||
TRACE("RpcStringFree returned 0x%x\n", status);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
static VOID
|
|
||||||
HandleUnbind(VOID)
|
|
||||||
{
|
|
||||||
RPC_STATUS status;
|
|
||||||
|
|
||||||
if (BindingHandle == NULL)
|
|
||||||
return;
|
|
||||||
|
|
||||||
status = RpcBindingFree(&BindingHandle);
|
|
||||||
if (status)
|
|
||||||
{
|
|
||||||
TRACE("RpcBindingFree returned 0x%x\n", status);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
handle_t __RPC_USER
|
handle_t __RPC_USER
|
||||||
SVCCTL_HANDLEA_bind(SVCCTL_HANDLEA szMachineName)
|
SVCCTL_HANDLEA_bind(SVCCTL_HANDLEA szMachineName)
|
||||||
{
|
{
|
||||||
|
@ -300,12 +244,9 @@ ChangeServiceConfig2A(SC_HANDLE hService,
|
||||||
if (lpInfo == NULL)
|
if (lpInfo == NULL)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
HandleBind();
|
|
||||||
|
|
||||||
_SEH_TRY
|
_SEH_TRY
|
||||||
{
|
{
|
||||||
dwError = RChangeServiceConfig2A(BindingHandle,
|
dwError = RChangeServiceConfig2A((SC_RPC_HANDLE)hService,
|
||||||
(SC_RPC_HANDLE)hService,
|
|
||||||
Info);
|
Info);
|
||||||
}
|
}
|
||||||
_SEH_HANDLE
|
_SEH_HANDLE
|
||||||
|
@ -363,12 +304,9 @@ ChangeServiceConfig2W(SC_HANDLE hService,
|
||||||
if (lpInfo == NULL)
|
if (lpInfo == NULL)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
HandleBind();
|
|
||||||
|
|
||||||
_SEH_TRY
|
_SEH_TRY
|
||||||
{
|
{
|
||||||
dwError = RChangeServiceConfig2W(BindingHandle,
|
dwError = RChangeServiceConfig2W((SC_RPC_HANDLE)hService,
|
||||||
(SC_RPC_HANDLE)hService,
|
|
||||||
Info);
|
Info);
|
||||||
}
|
}
|
||||||
_SEH_HANDLE
|
_SEH_HANDLE
|
||||||
|
@ -428,13 +366,10 @@ ChangeServiceConfigA(SC_HANDLE hService,
|
||||||
|
|
||||||
/* FIXME: Encrypt the password */
|
/* FIXME: Encrypt the password */
|
||||||
|
|
||||||
HandleBind();
|
|
||||||
|
|
||||||
_SEH_TRY
|
_SEH_TRY
|
||||||
{
|
{
|
||||||
/* Call to services.exe using RPC */
|
/* Call to services.exe using RPC */
|
||||||
dwError = RChangeServiceConfigA(BindingHandle,
|
dwError = RChangeServiceConfigA((SC_RPC_HANDLE)hService,
|
||||||
(SC_RPC_HANDLE)hService,
|
|
||||||
dwServiceType,
|
dwServiceType,
|
||||||
dwStartType,
|
dwStartType,
|
||||||
dwErrorControl,
|
dwErrorControl,
|
||||||
|
@ -505,13 +440,10 @@ ChangeServiceConfigW(SC_HANDLE hService,
|
||||||
|
|
||||||
/* FIXME: Encrypt the password */
|
/* FIXME: Encrypt the password */
|
||||||
|
|
||||||
HandleBind();
|
|
||||||
|
|
||||||
_SEH_TRY
|
_SEH_TRY
|
||||||
{
|
{
|
||||||
/* Call to services.exe using RPC */
|
/* Call to services.exe using RPC */
|
||||||
dwError = RChangeServiceConfigW(BindingHandle,
|
dwError = RChangeServiceConfigW((SC_RPC_HANDLE)hService,
|
||||||
(SC_RPC_HANDLE)hService,
|
|
||||||
dwServiceType,
|
dwServiceType,
|
||||||
dwStartType,
|
dwStartType,
|
||||||
dwErrorControl,
|
dwErrorControl,
|
||||||
|
@ -554,13 +486,10 @@ CloseServiceHandle(SC_HANDLE hSCObject)
|
||||||
|
|
||||||
TRACE("CloseServiceHandle() called\n");
|
TRACE("CloseServiceHandle() called\n");
|
||||||
|
|
||||||
HandleBind();
|
|
||||||
|
|
||||||
_SEH_TRY
|
_SEH_TRY
|
||||||
{
|
{
|
||||||
/* Call to services.exe using RPC */
|
/* Call to services.exe using RPC */
|
||||||
dwError = RCloseServiceHandle(BindingHandle,
|
dwError = RCloseServiceHandle((LPSC_RPC_HANDLE)&hSCObject);
|
||||||
(LPSC_RPC_HANDLE)&hSCObject);
|
|
||||||
}
|
}
|
||||||
_SEH_HANDLE
|
_SEH_HANDLE
|
||||||
{
|
{
|
||||||
|
@ -596,13 +525,10 @@ ControlService(SC_HANDLE hService,
|
||||||
TRACE("ControlService(%x, %x, %p)\n",
|
TRACE("ControlService(%x, %x, %p)\n",
|
||||||
hService, dwControl, lpServiceStatus);
|
hService, dwControl, lpServiceStatus);
|
||||||
|
|
||||||
HandleBind();
|
|
||||||
|
|
||||||
_SEH_TRY
|
_SEH_TRY
|
||||||
{
|
{
|
||||||
/* Call to services.exe using RPC */
|
/* Call to services.exe using RPC */
|
||||||
dwError = RControlService(BindingHandle,
|
dwError = RControlService((SC_RPC_HANDLE)hService,
|
||||||
(SC_RPC_HANDLE)hService,
|
|
||||||
dwControl,
|
dwControl,
|
||||||
lpServiceStatus);
|
lpServiceStatus);
|
||||||
}
|
}
|
||||||
|
@ -853,13 +779,10 @@ CreateServiceW(SC_HANDLE hSCManager,
|
||||||
|
|
||||||
/* FIXME: Encrypt the password */
|
/* FIXME: Encrypt the password */
|
||||||
|
|
||||||
HandleBind();
|
|
||||||
|
|
||||||
_SEH_TRY
|
_SEH_TRY
|
||||||
{
|
{
|
||||||
/* Call to services.exe using RPC */
|
/* Call to services.exe using RPC */
|
||||||
dwError = RCreateServiceW(BindingHandle,
|
dwError = RCreateServiceW((SC_RPC_HANDLE)hSCManager,
|
||||||
(SC_RPC_HANDLE)hSCManager,
|
|
||||||
(LPWSTR)lpServiceName,
|
(LPWSTR)lpServiceName,
|
||||||
(LPWSTR)lpDisplayName,
|
(LPWSTR)lpDisplayName,
|
||||||
dwDesiredAccess,
|
dwDesiredAccess,
|
||||||
|
@ -905,13 +828,10 @@ DeleteService(SC_HANDLE hService)
|
||||||
|
|
||||||
TRACE("DeleteService(%x)\n", hService);
|
TRACE("DeleteService(%x)\n", hService);
|
||||||
|
|
||||||
HandleBind();
|
|
||||||
|
|
||||||
_SEH_TRY
|
_SEH_TRY
|
||||||
{
|
{
|
||||||
/* Call to services.exe using RPC */
|
/* Call to services.exe using RPC */
|
||||||
dwError = RDeleteService(BindingHandle,
|
dwError = RDeleteService((SC_RPC_HANDLE)hService);
|
||||||
(SC_RPC_HANDLE)hService);
|
|
||||||
}
|
}
|
||||||
_SEH_HANDLE
|
_SEH_HANDLE
|
||||||
{
|
{
|
||||||
|
@ -949,12 +869,9 @@ EnumDependentServicesA(SC_HANDLE hService,
|
||||||
|
|
||||||
TRACE("EnumServicesStatusA() called\n");
|
TRACE("EnumServicesStatusA() called\n");
|
||||||
|
|
||||||
HandleBind();
|
|
||||||
|
|
||||||
_SEH_TRY
|
_SEH_TRY
|
||||||
{
|
{
|
||||||
dwError = REnumDependentServicesA(BindingHandle,
|
dwError = REnumDependentServicesA((SC_RPC_HANDLE)hService,
|
||||||
(SC_RPC_HANDLE)hService,
|
|
||||||
dwServiceState,
|
dwServiceState,
|
||||||
(LPBYTE)lpServices,
|
(LPBYTE)lpServices,
|
||||||
cbBufSize,
|
cbBufSize,
|
||||||
|
@ -1013,12 +930,9 @@ EnumDependentServicesW(SC_HANDLE hService,
|
||||||
|
|
||||||
TRACE("EnumServicesStatusW() called\n");
|
TRACE("EnumServicesStatusW() called\n");
|
||||||
|
|
||||||
HandleBind();
|
|
||||||
|
|
||||||
_SEH_TRY
|
_SEH_TRY
|
||||||
{
|
{
|
||||||
dwError = REnumDependentServicesW(BindingHandle,
|
dwError = REnumDependentServicesW((SC_RPC_HANDLE)hService,
|
||||||
(SC_RPC_HANDLE)hService,
|
|
||||||
dwServiceState,
|
dwServiceState,
|
||||||
(LPBYTE)lpServices,
|
(LPBYTE)lpServices,
|
||||||
cbBufSize,
|
cbBufSize,
|
||||||
|
@ -1103,12 +1017,9 @@ EnumServicesStatusA(SC_HANDLE hSCManager,
|
||||||
|
|
||||||
TRACE("EnumServicesStatusA() called\n");
|
TRACE("EnumServicesStatusA() called\n");
|
||||||
|
|
||||||
HandleBind();
|
|
||||||
|
|
||||||
_SEH_TRY
|
_SEH_TRY
|
||||||
{
|
{
|
||||||
dwError = REnumServicesStatusA(BindingHandle,
|
dwError = REnumServicesStatusA((SC_RPC_HANDLE)hSCManager,
|
||||||
(SC_RPC_HANDLE)hSCManager,
|
|
||||||
dwServiceType,
|
dwServiceType,
|
||||||
dwServiceState,
|
dwServiceState,
|
||||||
(LPBYTE)lpServices,
|
(LPBYTE)lpServices,
|
||||||
|
@ -1171,12 +1082,9 @@ EnumServicesStatusW(SC_HANDLE hSCManager,
|
||||||
|
|
||||||
TRACE("EnumServicesStatusW() called\n");
|
TRACE("EnumServicesStatusW() called\n");
|
||||||
|
|
||||||
HandleBind();
|
|
||||||
|
|
||||||
_SEH_TRY
|
_SEH_TRY
|
||||||
{
|
{
|
||||||
dwError = REnumServicesStatusW(BindingHandle,
|
dwError = REnumServicesStatusW((SC_RPC_HANDLE)hSCManager,
|
||||||
(SC_RPC_HANDLE)hSCManager,
|
|
||||||
dwServiceType,
|
dwServiceType,
|
||||||
dwServiceState,
|
dwServiceState,
|
||||||
(LPBYTE)lpServices,
|
(LPBYTE)lpServices,
|
||||||
|
@ -1241,12 +1149,9 @@ EnumServicesStatusExA(SC_HANDLE hSCManager,
|
||||||
|
|
||||||
TRACE("EnumServicesStatusExA() called\n");
|
TRACE("EnumServicesStatusExA() called\n");
|
||||||
|
|
||||||
HandleBind();
|
|
||||||
|
|
||||||
_SEH_TRY
|
_SEH_TRY
|
||||||
{
|
{
|
||||||
dwError = REnumServicesStatusExA(BindingHandle,
|
dwError = REnumServicesStatusExA((SC_RPC_HANDLE)hSCManager,
|
||||||
(SC_RPC_HANDLE)hSCManager,
|
|
||||||
InfoLevel,
|
InfoLevel,
|
||||||
dwServiceType,
|
dwServiceType,
|
||||||
dwServiceState,
|
dwServiceState,
|
||||||
|
@ -1321,12 +1226,9 @@ EnumServicesStatusExW(SC_HANDLE hSCManager,
|
||||||
|
|
||||||
TRACE("EnumServicesStatusExW() called\n");
|
TRACE("EnumServicesStatusExW() called\n");
|
||||||
|
|
||||||
HandleBind();
|
|
||||||
|
|
||||||
_SEH_TRY
|
_SEH_TRY
|
||||||
{
|
{
|
||||||
dwError = REnumServicesStatusExW(BindingHandle,
|
dwError = REnumServicesStatusExW((SC_RPC_HANDLE)hSCManager,
|
||||||
(SC_RPC_HANDLE)hSCManager,
|
|
||||||
InfoLevel,
|
InfoLevel,
|
||||||
dwServiceType,
|
dwServiceType,
|
||||||
dwServiceState,
|
dwServiceState,
|
||||||
|
@ -1396,12 +1298,9 @@ GetServiceDisplayNameA(SC_HANDLE hSCManager,
|
||||||
if (!lpDisplayName)
|
if (!lpDisplayName)
|
||||||
*lpcchBuffer = 0;
|
*lpcchBuffer = 0;
|
||||||
|
|
||||||
HandleBind();
|
|
||||||
|
|
||||||
_SEH_TRY
|
_SEH_TRY
|
||||||
{
|
{
|
||||||
dwError = RGetServiceDisplayNameA(BindingHandle,
|
dwError = RGetServiceDisplayNameA((SC_RPC_HANDLE)hSCManager,
|
||||||
(SC_RPC_HANDLE)hSCManager,
|
|
||||||
(LPSTR)lpServiceName,
|
(LPSTR)lpServiceName,
|
||||||
lpDisplayName,
|
lpDisplayName,
|
||||||
lpcchBuffer);
|
lpcchBuffer);
|
||||||
|
@ -1444,12 +1343,9 @@ GetServiceDisplayNameW(SC_HANDLE hSCManager,
|
||||||
if (!lpDisplayName)
|
if (!lpDisplayName)
|
||||||
*lpcchBuffer = 0;
|
*lpcchBuffer = 0;
|
||||||
|
|
||||||
HandleBind();
|
|
||||||
|
|
||||||
_SEH_TRY
|
_SEH_TRY
|
||||||
{
|
{
|
||||||
dwError = RGetServiceDisplayNameW(BindingHandle,
|
dwError = RGetServiceDisplayNameW((SC_RPC_HANDLE)hSCManager,
|
||||||
(SC_RPC_HANDLE)hSCManager,
|
|
||||||
(LPWSTR)lpServiceName,
|
(LPWSTR)lpServiceName,
|
||||||
lpDisplayName,
|
lpDisplayName,
|
||||||
lpcchBuffer);
|
lpcchBuffer);
|
||||||
|
@ -1489,12 +1385,9 @@ GetServiceKeyNameA(SC_HANDLE hSCManager,
|
||||||
if (!lpServiceName)
|
if (!lpServiceName)
|
||||||
*lpcchBuffer = 0;
|
*lpcchBuffer = 0;
|
||||||
|
|
||||||
HandleBind();
|
|
||||||
|
|
||||||
_SEH_TRY
|
_SEH_TRY
|
||||||
{
|
{
|
||||||
dwError = RGetServiceKeyNameA(BindingHandle,
|
dwError = RGetServiceKeyNameA((SC_RPC_HANDLE)hSCManager,
|
||||||
(SC_RPC_HANDLE)hSCManager,
|
|
||||||
(LPSTR)lpDisplayName,
|
(LPSTR)lpDisplayName,
|
||||||
lpServiceName,
|
lpServiceName,
|
||||||
lpcchBuffer);
|
lpcchBuffer);
|
||||||
|
@ -1534,12 +1427,9 @@ GetServiceKeyNameW(SC_HANDLE hSCManager,
|
||||||
if (!lpDisplayName)
|
if (!lpDisplayName)
|
||||||
*lpcchBuffer = 0;
|
*lpcchBuffer = 0;
|
||||||
|
|
||||||
HandleBind();
|
|
||||||
|
|
||||||
_SEH_TRY
|
_SEH_TRY
|
||||||
{
|
{
|
||||||
dwError = RGetServiceKeyNameW(BindingHandle,
|
dwError = RGetServiceKeyNameW((SC_RPC_HANDLE)hSCManager,
|
||||||
(SC_RPC_HANDLE)hSCManager,
|
|
||||||
(LPWSTR)lpDisplayName,
|
(LPWSTR)lpDisplayName,
|
||||||
lpServiceName,
|
lpServiceName,
|
||||||
lpcchBuffer);
|
lpcchBuffer);
|
||||||
|
@ -1574,13 +1464,10 @@ LockServiceDatabase(SC_HANDLE hSCManager)
|
||||||
|
|
||||||
TRACE("LockServiceDatabase(%x)\n", hSCManager);
|
TRACE("LockServiceDatabase(%x)\n", hSCManager);
|
||||||
|
|
||||||
HandleBind();
|
|
||||||
|
|
||||||
_SEH_TRY
|
_SEH_TRY
|
||||||
{
|
{
|
||||||
/* Call to services.exe using RPC */
|
/* Call to services.exe using RPC */
|
||||||
dwError = RLockServiceDatabase(BindingHandle,
|
dwError = RLockServiceDatabase((SC_RPC_HANDLE)hSCManager,
|
||||||
(SC_RPC_HANDLE)hSCManager,
|
|
||||||
(SC_RPC_LOCK *)&hLock);
|
(SC_RPC_LOCK *)&hLock);
|
||||||
}
|
}
|
||||||
_SEH_HANDLE
|
_SEH_HANDLE
|
||||||
|
@ -1660,13 +1547,10 @@ OpenSCManagerA(LPCSTR lpMachineName,
|
||||||
|
|
||||||
WaitForSCManager();
|
WaitForSCManager();
|
||||||
|
|
||||||
// HandleBind();
|
|
||||||
|
|
||||||
_SEH_TRY
|
_SEH_TRY
|
||||||
{
|
{
|
||||||
/* Call to services.exe using RPC */
|
/* Call to services.exe using RPC */
|
||||||
dwError = ROpenSCManagerA(//BindingHandle,
|
dwError = ROpenSCManagerA((LPSTR)lpMachineName,
|
||||||
(LPSTR)lpMachineName,
|
|
||||||
(LPSTR)lpDatabaseName,
|
(LPSTR)lpDatabaseName,
|
||||||
dwDesiredAccess,
|
dwDesiredAccess,
|
||||||
(SC_RPC_HANDLE *)&hScm);
|
(SC_RPC_HANDLE *)&hScm);
|
||||||
|
@ -1708,13 +1592,10 @@ OpenSCManagerW(LPCWSTR lpMachineName,
|
||||||
|
|
||||||
WaitForSCManager();
|
WaitForSCManager();
|
||||||
|
|
||||||
// HandleBind();
|
|
||||||
|
|
||||||
_SEH_TRY
|
_SEH_TRY
|
||||||
{
|
{
|
||||||
/* Call to services.exe using RPC */
|
/* Call to services.exe using RPC */
|
||||||
dwError = ROpenSCManagerW(//BindingHandle,
|
dwError = ROpenSCManagerW((LPWSTR)lpMachineName,
|
||||||
(LPWSTR)lpMachineName,
|
|
||||||
(LPWSTR)lpDatabaseName,
|
(LPWSTR)lpDatabaseName,
|
||||||
dwDesiredAccess,
|
dwDesiredAccess,
|
||||||
(SC_RPC_HANDLE *)&hScm);
|
(SC_RPC_HANDLE *)&hScm);
|
||||||
|
@ -1754,13 +1635,10 @@ OpenServiceA(SC_HANDLE hSCManager,
|
||||||
TRACE("OpenServiceA(%p, %s, %lx)\n",
|
TRACE("OpenServiceA(%p, %s, %lx)\n",
|
||||||
hSCManager, lpServiceName, dwDesiredAccess);
|
hSCManager, lpServiceName, dwDesiredAccess);
|
||||||
|
|
||||||
HandleBind();
|
|
||||||
|
|
||||||
_SEH_TRY
|
_SEH_TRY
|
||||||
{
|
{
|
||||||
/* Call to services.exe using RPC */
|
/* Call to services.exe using RPC */
|
||||||
dwError = ROpenServiceA(BindingHandle,
|
dwError = ROpenServiceA((SC_RPC_HANDLE)hSCManager,
|
||||||
(SC_RPC_HANDLE)hSCManager,
|
|
||||||
(LPSTR)lpServiceName,
|
(LPSTR)lpServiceName,
|
||||||
dwDesiredAccess,
|
dwDesiredAccess,
|
||||||
(SC_RPC_HANDLE *)&hService);
|
(SC_RPC_HANDLE *)&hService);
|
||||||
|
@ -1800,13 +1678,10 @@ OpenServiceW(SC_HANDLE hSCManager,
|
||||||
TRACE("OpenServiceW(%p, %S, %lx)\n",
|
TRACE("OpenServiceW(%p, %S, %lx)\n",
|
||||||
hSCManager, lpServiceName, dwDesiredAccess);
|
hSCManager, lpServiceName, dwDesiredAccess);
|
||||||
|
|
||||||
HandleBind();
|
|
||||||
|
|
||||||
_SEH_TRY
|
_SEH_TRY
|
||||||
{
|
{
|
||||||
/* Call to services.exe using RPC */
|
/* Call to services.exe using RPC */
|
||||||
dwError = ROpenServiceW(BindingHandle,
|
dwError = ROpenServiceW((SC_RPC_HANDLE)hSCManager,
|
||||||
(SC_RPC_HANDLE)hSCManager,
|
|
||||||
(LPWSTR)lpServiceName,
|
(LPWSTR)lpServiceName,
|
||||||
dwDesiredAccess,
|
dwDesiredAccess,
|
||||||
(SC_RPC_HANDLE *)&hService);
|
(SC_RPC_HANDLE *)&hService);
|
||||||
|
@ -1849,13 +1724,10 @@ QueryServiceConfigA(SC_HANDLE hService,
|
||||||
TRACE("QueryServiceConfigA(%p, %p, %lu, %p)\n",
|
TRACE("QueryServiceConfigA(%p, %p, %lu, %p)\n",
|
||||||
hService, lpServiceConfig, cbBufSize, pcbBytesNeeded);
|
hService, lpServiceConfig, cbBufSize, pcbBytesNeeded);
|
||||||
|
|
||||||
HandleBind();
|
|
||||||
|
|
||||||
_SEH_TRY
|
_SEH_TRY
|
||||||
{
|
{
|
||||||
/* Call to services.exe using RPC */
|
/* Call to services.exe using RPC */
|
||||||
dwError = RQueryServiceConfigA(BindingHandle,
|
dwError = RQueryServiceConfigA((SC_RPC_HANDLE)hService,
|
||||||
(SC_RPC_HANDLE)hService,
|
|
||||||
(LPBYTE)lpServiceConfig,
|
(LPBYTE)lpServiceConfig,
|
||||||
cbBufSize,
|
cbBufSize,
|
||||||
pcbBytesNeeded);
|
pcbBytesNeeded);
|
||||||
|
@ -1921,13 +1793,10 @@ QueryServiceConfigW(SC_HANDLE hService,
|
||||||
TRACE("QueryServiceConfigW(%p, %p, %lu, %p)\n",
|
TRACE("QueryServiceConfigW(%p, %p, %lu, %p)\n",
|
||||||
hService, lpServiceConfig, cbBufSize, pcbBytesNeeded);
|
hService, lpServiceConfig, cbBufSize, pcbBytesNeeded);
|
||||||
|
|
||||||
HandleBind();
|
|
||||||
|
|
||||||
_SEH_TRY
|
_SEH_TRY
|
||||||
{
|
{
|
||||||
/* Call to services.exe using RPC */
|
/* Call to services.exe using RPC */
|
||||||
dwError = RQueryServiceConfigW(BindingHandle,
|
dwError = RQueryServiceConfigW((SC_RPC_HANDLE)hService,
|
||||||
(SC_RPC_HANDLE)hService,
|
|
||||||
(LPBYTE)lpServiceConfig,
|
(LPBYTE)lpServiceConfig,
|
||||||
cbBufSize,
|
cbBufSize,
|
||||||
pcbBytesNeeded);
|
pcbBytesNeeded);
|
||||||
|
@ -2011,13 +1880,10 @@ QueryServiceConfig2A(SC_HANDLE hService,
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
HandleBind();
|
|
||||||
|
|
||||||
_SEH_TRY
|
_SEH_TRY
|
||||||
{
|
{
|
||||||
/* Call to services.exe using RPC */
|
/* Call to services.exe using RPC */
|
||||||
dwError = RQueryServiceConfig2A(BindingHandle,
|
dwError = RQueryServiceConfig2A((SC_RPC_HANDLE)hService,
|
||||||
(SC_RPC_HANDLE)hService,
|
|
||||||
dwInfoLevel,
|
dwInfoLevel,
|
||||||
lpBuffer,
|
lpBuffer,
|
||||||
cbBufSize,
|
cbBufSize,
|
||||||
|
@ -2109,13 +1975,10 @@ QueryServiceConfig2W(SC_HANDLE hService,
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
HandleBind();
|
|
||||||
|
|
||||||
_SEH_TRY
|
_SEH_TRY
|
||||||
{
|
{
|
||||||
/* Call to services.exe using RPC */
|
/* Call to services.exe using RPC */
|
||||||
dwError = RQueryServiceConfig2W(BindingHandle,
|
dwError = RQueryServiceConfig2W((SC_RPC_HANDLE)hService,
|
||||||
(SC_RPC_HANDLE)hService,
|
|
||||||
dwInfoLevel,
|
dwInfoLevel,
|
||||||
lpBuffer,
|
lpBuffer,
|
||||||
cbBufSize,
|
cbBufSize,
|
||||||
|
@ -2191,13 +2054,10 @@ QueryServiceLockStatusA(SC_HANDLE hSCManager,
|
||||||
|
|
||||||
TRACE("QueryServiceLockStatusA() called\n");
|
TRACE("QueryServiceLockStatusA() called\n");
|
||||||
|
|
||||||
HandleBind();
|
|
||||||
|
|
||||||
_SEH_TRY
|
_SEH_TRY
|
||||||
{
|
{
|
||||||
/* Call to services.exe using RPC */
|
/* Call to services.exe using RPC */
|
||||||
dwError = RQueryServiceLockStatusA(BindingHandle,
|
dwError = RQueryServiceLockStatusA((SC_RPC_HANDLE)hSCManager,
|
||||||
(SC_RPC_HANDLE)hSCManager,
|
|
||||||
lpLockStatus,
|
lpLockStatus,
|
||||||
cbBufSize,
|
cbBufSize,
|
||||||
pcbBytesNeeded);
|
pcbBytesNeeded);
|
||||||
|
@ -2242,13 +2102,10 @@ QueryServiceLockStatusW(SC_HANDLE hSCManager,
|
||||||
|
|
||||||
TRACE("QueryServiceLockStatusW() called\n");
|
TRACE("QueryServiceLockStatusW() called\n");
|
||||||
|
|
||||||
HandleBind();
|
|
||||||
|
|
||||||
_SEH_TRY
|
_SEH_TRY
|
||||||
{
|
{
|
||||||
/* Call to services.exe using RPC */
|
/* Call to services.exe using RPC */
|
||||||
dwError = RQueryServiceLockStatusW(BindingHandle,
|
dwError = RQueryServiceLockStatusW((SC_RPC_HANDLE)hSCManager,
|
||||||
(SC_RPC_HANDLE)hSCManager,
|
|
||||||
lpLockStatus,
|
lpLockStatus,
|
||||||
cbBufSize,
|
cbBufSize,
|
||||||
pcbBytesNeeded);
|
pcbBytesNeeded);
|
||||||
|
@ -2295,13 +2152,10 @@ QueryServiceObjectSecurity(SC_HANDLE hService,
|
||||||
TRACE("QueryServiceObjectSecurity(%p, %lu, %p)\n",
|
TRACE("QueryServiceObjectSecurity(%p, %lu, %p)\n",
|
||||||
hService, dwSecurityInformation, lpSecurityDescriptor);
|
hService, dwSecurityInformation, lpSecurityDescriptor);
|
||||||
|
|
||||||
HandleBind();
|
|
||||||
|
|
||||||
_SEH_TRY
|
_SEH_TRY
|
||||||
{
|
{
|
||||||
/* Call to services.exe using RPC */
|
/* Call to services.exe using RPC */
|
||||||
dwError = RQueryServiceObjectSecurity(BindingHandle,
|
dwError = RQueryServiceObjectSecurity((SC_RPC_HANDLE)hService,
|
||||||
(SC_RPC_HANDLE)hService,
|
|
||||||
dwSecurityInformation,
|
dwSecurityInformation,
|
||||||
(LPBYTE)lpSecurityDescriptor,
|
(LPBYTE)lpSecurityDescriptor,
|
||||||
cbBufSize,
|
cbBufSize,
|
||||||
|
@ -2365,13 +2219,10 @@ SetServiceObjectSecurity(SC_HANDLE hService,
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
HandleBind();
|
|
||||||
|
|
||||||
_SEH_TRY
|
_SEH_TRY
|
||||||
{
|
{
|
||||||
/* Call to services.exe using RPC */
|
/* Call to services.exe using RPC */
|
||||||
dwError = RSetServiceObjectSecurity(BindingHandle,
|
dwError = RSetServiceObjectSecurity((SC_RPC_HANDLE)hService,
|
||||||
(SC_RPC_HANDLE)hService,
|
|
||||||
dwSecurityInformation,
|
dwSecurityInformation,
|
||||||
(LPBYTE)SelfRelativeSD,
|
(LPBYTE)SelfRelativeSD,
|
||||||
Length);
|
Length);
|
||||||
|
@ -2409,13 +2260,10 @@ QueryServiceStatus(SC_HANDLE hService,
|
||||||
TRACE("QueryServiceStatus(%p, %p)\n",
|
TRACE("QueryServiceStatus(%p, %p)\n",
|
||||||
hService, lpServiceStatus);
|
hService, lpServiceStatus);
|
||||||
|
|
||||||
HandleBind();
|
|
||||||
|
|
||||||
_SEH_TRY
|
_SEH_TRY
|
||||||
{
|
{
|
||||||
/* Call to services.exe using RPC */
|
/* Call to services.exe using RPC */
|
||||||
dwError = RQueryServiceStatus(BindingHandle,
|
dwError = RQueryServiceStatus((SC_RPC_HANDLE)hService,
|
||||||
(SC_RPC_HANDLE)hService,
|
|
||||||
lpServiceStatus);
|
lpServiceStatus);
|
||||||
}
|
}
|
||||||
_SEH_HANDLE
|
_SEH_HANDLE
|
||||||
|
@ -2451,13 +2299,10 @@ QueryServiceStatusEx(SC_HANDLE hService,
|
||||||
|
|
||||||
TRACE("QueryServiceStatusEx() called\n");
|
TRACE("QueryServiceStatusEx() called\n");
|
||||||
|
|
||||||
HandleBind();
|
|
||||||
|
|
||||||
_SEH_TRY
|
_SEH_TRY
|
||||||
{
|
{
|
||||||
/* Call to services.exe using RPC */
|
/* Call to services.exe using RPC */
|
||||||
dwError = RQueryServiceStatusEx(BindingHandle,
|
dwError = RQueryServiceStatusEx((SC_RPC_HANDLE)hService,
|
||||||
(SC_RPC_HANDLE)hService,
|
|
||||||
InfoLevel,
|
InfoLevel,
|
||||||
lpBuffer,
|
lpBuffer,
|
||||||
cbBufSize,
|
cbBufSize,
|
||||||
|
@ -2492,12 +2337,9 @@ StartServiceA(SC_HANDLE hService,
|
||||||
{
|
{
|
||||||
DWORD dwError;
|
DWORD dwError;
|
||||||
|
|
||||||
HandleBind();
|
|
||||||
|
|
||||||
_SEH_TRY
|
_SEH_TRY
|
||||||
{
|
{
|
||||||
dwError = RStartServiceA(BindingHandle,
|
dwError = RStartServiceA((SC_RPC_HANDLE)hService,
|
||||||
(SC_RPC_HANDLE)hService,
|
|
||||||
dwNumServiceArgs,
|
dwNumServiceArgs,
|
||||||
(LPSTRING_PTRSA)lpServiceArgVectors);
|
(LPSTRING_PTRSA)lpServiceArgVectors);
|
||||||
}
|
}
|
||||||
|
@ -2530,12 +2372,9 @@ StartServiceW(SC_HANDLE hService,
|
||||||
{
|
{
|
||||||
DWORD dwError;
|
DWORD dwError;
|
||||||
|
|
||||||
HandleBind();
|
|
||||||
|
|
||||||
_SEH_TRY
|
_SEH_TRY
|
||||||
{
|
{
|
||||||
dwError = RStartServiceW(BindingHandle,
|
dwError = RStartServiceW((SC_RPC_HANDLE)hService,
|
||||||
(SC_RPC_HANDLE)hService,
|
|
||||||
dwNumServiceArgs,
|
dwNumServiceArgs,
|
||||||
(LPSTRING_PTRSW)lpServiceArgVectors);
|
(LPSTRING_PTRSW)lpServiceArgVectors);
|
||||||
}
|
}
|
||||||
|
@ -2568,13 +2407,10 @@ UnlockServiceDatabase(SC_LOCK ScLock)
|
||||||
|
|
||||||
TRACE("UnlockServiceDatabase(%x)\n", ScLock);
|
TRACE("UnlockServiceDatabase(%x)\n", ScLock);
|
||||||
|
|
||||||
HandleBind();
|
|
||||||
|
|
||||||
_SEH_TRY
|
_SEH_TRY
|
||||||
{
|
{
|
||||||
/* Call to services.exe using RPC */
|
/* Call to services.exe using RPC */
|
||||||
dwError = RUnlockServiceDatabase(BindingHandle,
|
dwError = RUnlockServiceDatabase((LPSC_RPC_LOCK)&ScLock);
|
||||||
(LPSC_RPC_LOCK)&ScLock);
|
|
||||||
}
|
}
|
||||||
_SEH_HANDLE
|
_SEH_HANDLE
|
||||||
{
|
{
|
||||||
|
@ -2605,13 +2441,10 @@ NotifyBootConfigStatus(BOOL BootAcceptable)
|
||||||
|
|
||||||
TRACE("NotifyBootConfigStatus()\n");
|
TRACE("NotifyBootConfigStatus()\n");
|
||||||
|
|
||||||
HandleBind();
|
|
||||||
|
|
||||||
_SEH_TRY
|
_SEH_TRY
|
||||||
{
|
{
|
||||||
/* Call to services.exe using RPC */
|
/* Call to services.exe using RPC */
|
||||||
dwError = RNotifyBootConfigStatus(BindingHandle,
|
dwError = RNotifyBootConfigStatus(NULL,
|
||||||
NULL,
|
|
||||||
BootAcceptable);
|
BootAcceptable);
|
||||||
}
|
}
|
||||||
_SEH_HANDLE
|
_SEH_HANDLE
|
||||||
|
|
|
@ -20,8 +20,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(advapi);
|
||||||
|
|
||||||
/* TYPES *********************************************************************/
|
/* TYPES *********************************************************************/
|
||||||
|
|
||||||
VOID HandleBind(VOID);
|
|
||||||
|
|
||||||
typedef struct _ACTIVE_SERVICE
|
typedef struct _ACTIVE_SERVICE
|
||||||
{
|
{
|
||||||
CLIENT_HANDLE hService;
|
CLIENT_HANDLE hService;
|
||||||
|
@ -42,7 +40,6 @@ typedef struct _ACTIVE_SERVICE
|
||||||
|
|
||||||
/* GLOBALS *******************************************************************/
|
/* GLOBALS *******************************************************************/
|
||||||
|
|
||||||
extern handle_t BindingHandle;
|
|
||||||
static DWORD dwActiveServiceCount = 0;
|
static DWORD dwActiveServiceCount = 0;
|
||||||
static PACTIVE_SERVICE lpActiveServices = NULL;
|
static PACTIVE_SERVICE lpActiveServices = NULL;
|
||||||
|
|
||||||
|
@ -544,13 +541,10 @@ I_ScSetServiceBitsA(SERVICE_STATUS_HANDLE hServiceStatus,
|
||||||
{
|
{
|
||||||
BOOL bResult;
|
BOOL bResult;
|
||||||
|
|
||||||
// HandleBind();
|
|
||||||
|
|
||||||
_SEH_TRY
|
_SEH_TRY
|
||||||
{
|
{
|
||||||
/* Call to services.exe using RPC */
|
/* Call to services.exe using RPC */
|
||||||
bResult = RI_ScSetServiceBitsA(//BindingHandle,
|
bResult = RI_ScSetServiceBitsA((RPC_SERVICE_STATUS_HANDLE)hServiceStatus,
|
||||||
(RPC_SERVICE_STATUS_HANDLE)hServiceStatus,
|
|
||||||
dwServiceBits,
|
dwServiceBits,
|
||||||
bSetBitsOn,
|
bSetBitsOn,
|
||||||
bUpdateImmediately,
|
bUpdateImmediately,
|
||||||
|
@ -583,13 +577,10 @@ I_ScSetServiceBitsW(SERVICE_STATUS_HANDLE hServiceStatus,
|
||||||
{
|
{
|
||||||
BOOL bResult;
|
BOOL bResult;
|
||||||
|
|
||||||
// HandleBind();
|
|
||||||
|
|
||||||
_SEH_TRY
|
_SEH_TRY
|
||||||
{
|
{
|
||||||
/* Call to services.exe using RPC */
|
/* Call to services.exe using RPC */
|
||||||
bResult = RI_ScSetServiceBitsW(//BindingHandle,
|
bResult = RI_ScSetServiceBitsW((RPC_SERVICE_STATUS_HANDLE)hServiceStatus,
|
||||||
(RPC_SERVICE_STATUS_HANDLE)hServiceStatus,
|
|
||||||
dwServiceBits,
|
dwServiceBits,
|
||||||
bSetBitsOn,
|
bSetBitsOn,
|
||||||
bUpdateImmediately,
|
bUpdateImmediately,
|
||||||
|
@ -639,11 +630,8 @@ SetServiceStatus(SERVICE_STATUS_HANDLE hServiceStatus,
|
||||||
TRACE("SetServiceStatus() called\n");
|
TRACE("SetServiceStatus() called\n");
|
||||||
TRACE("hServiceStatus %lu\n", hServiceStatus);
|
TRACE("hServiceStatus %lu\n", hServiceStatus);
|
||||||
|
|
||||||
// HandleBind();
|
|
||||||
|
|
||||||
/* Call to services.exe using RPC */
|
/* Call to services.exe using RPC */
|
||||||
dwError = RSetServiceStatus(//BindingHandle,
|
dwError = RSetServiceStatus((RPC_SERVICE_STATUS_HANDLE)hServiceStatus,
|
||||||
(RPC_SERVICE_STATUS_HANDLE)hServiceStatus,
|
|
||||||
lpServiceStatus);
|
lpServiceStatus);
|
||||||
if (dwError != ERROR_SUCCESS)
|
if (dwError != ERROR_SUCCESS)
|
||||||
{
|
{
|
||||||
|
|
|
@ -18,11 +18,11 @@ const unsigned short SC_MAX_ARGUMENTS = 1024;
|
||||||
typedef [handle] LPSTR SVCCTL_HANDLEA;
|
typedef [handle] LPSTR SVCCTL_HANDLEA;
|
||||||
typedef [handle] LPWSTR SVCCTL_HANDLEW;
|
typedef [handle] LPWSTR SVCCTL_HANDLEW;
|
||||||
typedef [handle] ULONG_PTR RPC_SERVICE_STATUS_HANDLE;
|
typedef [handle] ULONG_PTR RPC_SERVICE_STATUS_HANDLE;
|
||||||
typedef /*[context_handle]*/ unsigned long SC_RPC_HANDLE;
|
typedef [context_handle] PVOID SC_RPC_HANDLE;
|
||||||
typedef SC_RPC_HANDLE* LPSC_RPC_HANDLE;
|
typedef SC_RPC_HANDLE* LPSC_RPC_HANDLE;
|
||||||
typedef /*[context_handle]*/ unsigned long SC_RPC_LOCK;
|
typedef [context_handle] PVOID SC_RPC_LOCK;
|
||||||
typedef SC_RPC_LOCK* LPSC_RPC_LOCK;
|
typedef SC_RPC_LOCK* LPSC_RPC_LOCK;
|
||||||
typedef /*[context_handle]*/ unsigned long SC_NOTIFY_RPC_HANDLE;
|
typedef [context_handle] PVOID SC_NOTIFY_RPC_HANDLE;
|
||||||
typedef SC_NOTIFY_RPC_HANDLE* LPSC_NOTIFY_RPC_HANDLE;
|
typedef SC_NOTIFY_RPC_HANDLE* LPSC_NOTIFY_RPC_HANDLE;
|
||||||
typedef [range(0, 1024 * 4)] DWORD BOUNDED_DWORD_4K;
|
typedef [range(0, 1024 * 4)] DWORD BOUNDED_DWORD_4K;
|
||||||
typedef BOUNDED_DWORD_4K* LPBOUNDED_DWORD_4K;
|
typedef BOUNDED_DWORD_4K* LPBOUNDED_DWORD_4K;
|
||||||
|
@ -297,38 +297,33 @@ typedef struct _STRING_PTRSW {
|
||||||
uuid(367abb81-9844-35f1-ad32-98f038001003),
|
uuid(367abb81-9844-35f1-ad32-98f038001003),
|
||||||
version(2.0),
|
version(2.0),
|
||||||
pointer_default(unique),
|
pointer_default(unique),
|
||||||
// #ifndef __midl
|
#ifndef __midl
|
||||||
,explicit_handle
|
,explicit_handle
|
||||||
// #endif
|
#endif
|
||||||
]
|
]
|
||||||
interface svcctl
|
interface svcctl
|
||||||
{
|
{
|
||||||
/* Function 0 */
|
/* Function 0 */
|
||||||
DWORD RCloseServiceHandle(
|
DWORD RCloseServiceHandle(
|
||||||
[in] handle_t BindingHandle,
|
|
||||||
[in, out] LPSC_RPC_HANDLE hSCObject);
|
[in, out] LPSC_RPC_HANDLE hSCObject);
|
||||||
|
|
||||||
/* Function 1 */
|
/* Function 1 */
|
||||||
DWORD RControlService(
|
DWORD RControlService(
|
||||||
[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 RDeleteService(
|
DWORD RDeleteService(
|
||||||
[in] handle_t BindingHandle,
|
|
||||||
[in] SC_RPC_HANDLE hService);
|
[in] SC_RPC_HANDLE hService);
|
||||||
|
|
||||||
/* Function 3 */
|
/* Function 3 */
|
||||||
DWORD RLockServiceDatabase(
|
DWORD RLockServiceDatabase(
|
||||||
[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 RQueryServiceObjectSecurity(
|
DWORD RQueryServiceObjectSecurity(
|
||||||
[in] handle_t BindingHandle,
|
|
||||||
[in] SC_RPC_HANDLE hService,
|
[in] SC_RPC_HANDLE hService,
|
||||||
[in] SECURITY_INFORMATION dwSecurityInformation,
|
[in] SECURITY_INFORMATION dwSecurityInformation,
|
||||||
[out, size_is(cbBufSize)] LPBYTE lpSecurityDescriptor,
|
[out, size_is(cbBufSize)] LPBYTE lpSecurityDescriptor,
|
||||||
|
@ -337,7 +332,6 @@ interface svcctl
|
||||||
|
|
||||||
/* Function 5 */
|
/* Function 5 */
|
||||||
DWORD RSetServiceObjectSecurity(
|
DWORD RSetServiceObjectSecurity(
|
||||||
[in] handle_t BindingHandle,
|
|
||||||
[in] SC_RPC_HANDLE hService,
|
[in] SC_RPC_HANDLE hService,
|
||||||
[in] DWORD dwSecurityInformation,
|
[in] DWORD dwSecurityInformation,
|
||||||
[in, size_is(dwSecuityDescriptorSize)] LPBYTE lpSecurityDescriptor,
|
[in, size_is(dwSecuityDescriptorSize)] LPBYTE lpSecurityDescriptor,
|
||||||
|
@ -345,30 +339,25 @@ interface svcctl
|
||||||
|
|
||||||
/* Function 6 */
|
/* Function 6 */
|
||||||
DWORD RQueryServiceStatus(
|
DWORD RQueryServiceStatus(
|
||||||
[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 RSetServiceStatus(
|
DWORD RSetServiceStatus(
|
||||||
// [in] handle_t BindingHandle,
|
|
||||||
[in] RPC_SERVICE_STATUS_HANDLE hServiceStatus,
|
[in] RPC_SERVICE_STATUS_HANDLE hServiceStatus,
|
||||||
[in] LPSERVICE_STATUS lpServiceStatus);
|
[in] LPSERVICE_STATUS lpServiceStatus);
|
||||||
|
|
||||||
/* Function 8 */
|
/* Function 8 */
|
||||||
DWORD RUnlockServiceDatabase(
|
DWORD RUnlockServiceDatabase(
|
||||||
[in] handle_t BindingHandle,
|
|
||||||
[in, out] LPSC_RPC_LOCK Lock);
|
[in, out] LPSC_RPC_LOCK Lock);
|
||||||
|
|
||||||
/* Function 9 */
|
/* Function 9 */
|
||||||
DWORD RNotifyBootConfigStatus(
|
DWORD RNotifyBootConfigStatus(
|
||||||
[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 RI_ScSetServiceBitsW(
|
DWORD RI_ScSetServiceBitsW(
|
||||||
// [in] handle_t BindingHandle,
|
|
||||||
[in] RPC_SERVICE_STATUS_HANDLE hServiceStatus,
|
[in] RPC_SERVICE_STATUS_HANDLE hServiceStatus,
|
||||||
[in] DWORD dwServiceBits,
|
[in] DWORD dwServiceBits,
|
||||||
[in] BOOL bSetBitsOn,
|
[in] BOOL bSetBitsOn,
|
||||||
|
@ -377,7 +366,6 @@ interface svcctl
|
||||||
|
|
||||||
/* Function 11 */
|
/* Function 11 */
|
||||||
DWORD RChangeServiceConfigW(
|
DWORD RChangeServiceConfigW(
|
||||||
[in] handle_t BindingHandle,
|
|
||||||
[in] SC_RPC_HANDLE hService,
|
[in] SC_RPC_HANDLE hService,
|
||||||
[in] DWORD dwServiceType,
|
[in] DWORD dwServiceType,
|
||||||
[in] DWORD dwStartType,
|
[in] DWORD dwStartType,
|
||||||
|
@ -394,7 +382,6 @@ interface svcctl
|
||||||
|
|
||||||
/* Function 12 */
|
/* Function 12 */
|
||||||
DWORD RCreateServiceW(
|
DWORD RCreateServiceW(
|
||||||
[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,
|
||||||
[in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPWSTR lpDisplayName,
|
[in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPWSTR lpDisplayName,
|
||||||
|
@ -414,7 +401,6 @@ interface svcctl
|
||||||
|
|
||||||
/* Function 13 */
|
/* Function 13 */
|
||||||
DWORD REnumDependentServicesW(
|
DWORD REnumDependentServicesW(
|
||||||
[in] handle_t BindingHandle,
|
|
||||||
[in] SC_RPC_HANDLE hService,
|
[in] SC_RPC_HANDLE hService,
|
||||||
[in] DWORD dwServiceState,
|
[in] DWORD dwServiceState,
|
||||||
[out, size_is(cbBufSize)] LPBYTE lpServices,
|
[out, size_is(cbBufSize)] LPBYTE lpServices,
|
||||||
|
@ -424,7 +410,6 @@ interface svcctl
|
||||||
|
|
||||||
/* Function 14 */
|
/* Function 14 */
|
||||||
DWORD REnumServicesStatusW(
|
DWORD REnumServicesStatusW(
|
||||||
[in] handle_t BindingHandle,
|
|
||||||
[in] SC_RPC_HANDLE hSCManager,
|
[in] SC_RPC_HANDLE hSCManager,
|
||||||
[in] DWORD dwServiceType,
|
[in] DWORD dwServiceType,
|
||||||
[in] DWORD dwServiceState,
|
[in] DWORD dwServiceState,
|
||||||
|
@ -436,7 +421,6 @@ interface svcctl
|
||||||
|
|
||||||
/* Function 15 */
|
/* Function 15 */
|
||||||
DWORD ROpenSCManagerW(
|
DWORD ROpenSCManagerW(
|
||||||
// [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, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPWSTR lpDatabaseName,
|
[in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPWSTR lpDatabaseName,
|
||||||
[in] DWORD dwDesiredAccess,
|
[in] DWORD dwDesiredAccess,
|
||||||
|
@ -444,7 +428,6 @@ interface svcctl
|
||||||
|
|
||||||
/* Function 16 */
|
/* Function 16 */
|
||||||
DWORD ROpenServiceW(
|
DWORD ROpenServiceW(
|
||||||
[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,
|
||||||
[in] DWORD dwDesiredAccess,
|
[in] DWORD dwDesiredAccess,
|
||||||
|
@ -452,7 +435,6 @@ interface svcctl
|
||||||
|
|
||||||
/* Function 17 */
|
/* Function 17 */
|
||||||
DWORD RQueryServiceConfigW(
|
DWORD RQueryServiceConfigW(
|
||||||
[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,
|
||||||
/* FIXME: should be [out] LPQUERY_SERVICE_CONFIGW lpServiceConfig, */
|
/* FIXME: should be [out] LPQUERY_SERVICE_CONFIGW lpServiceConfig, */
|
||||||
|
@ -461,7 +443,6 @@ interface svcctl
|
||||||
|
|
||||||
/* Function 18 */
|
/* Function 18 */
|
||||||
DWORD RQueryServiceLockStatusW(
|
DWORD RQueryServiceLockStatusW(
|
||||||
[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,
|
||||||
[in, range(0, 1024*4)] DWORD cbBufSize,
|
[in, range(0, 1024*4)] DWORD cbBufSize,
|
||||||
|
@ -469,14 +450,12 @@ interface svcctl
|
||||||
|
|
||||||
/* Function 19 */
|
/* Function 19 */
|
||||||
DWORD RStartServiceW(
|
DWORD RStartServiceW(
|
||||||
[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 RGetServiceDisplayNameW(
|
DWORD RGetServiceDisplayNameW(
|
||||||
[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,
|
||||||
[out, string, range(1, 4*1024+1), size_is(*lpcchBuffer + 1)] LPWSTR lpDisplayName,
|
[out, string, range(1, 4*1024+1), size_is(*lpcchBuffer + 1)] LPWSTR lpDisplayName,
|
||||||
|
@ -484,7 +463,6 @@ interface svcctl
|
||||||
|
|
||||||
/* Function 21 */
|
/* Function 21 */
|
||||||
DWORD RGetServiceKeyNameW(
|
DWORD RGetServiceKeyNameW(
|
||||||
[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,
|
||||||
[out, string, range(1, 4*1024+1), size_is(*lpcchBuffer + 1)] LPWSTR lpServiceName,
|
[out, string, range(1, 4*1024+1), size_is(*lpcchBuffer + 1)] LPWSTR lpServiceName,
|
||||||
|
@ -492,7 +470,6 @@ interface svcctl
|
||||||
|
|
||||||
/* Function 22 */
|
/* Function 22 */
|
||||||
DWORD RI_ScSetServiceBitsA(
|
DWORD RI_ScSetServiceBitsA(
|
||||||
// [in] handle_t BindingHandle,
|
|
||||||
[in] RPC_SERVICE_STATUS_HANDLE hServiceStatus,
|
[in] RPC_SERVICE_STATUS_HANDLE hServiceStatus,
|
||||||
[in] DWORD dwServiceBits,
|
[in] DWORD dwServiceBits,
|
||||||
[in] BOOL bSetBitsOn,
|
[in] BOOL bSetBitsOn,
|
||||||
|
@ -501,7 +478,6 @@ interface svcctl
|
||||||
|
|
||||||
/* Function 23 */
|
/* Function 23 */
|
||||||
DWORD RChangeServiceConfigA(
|
DWORD RChangeServiceConfigA(
|
||||||
[in] handle_t BindingHandle,
|
|
||||||
[in] SC_RPC_HANDLE hService,
|
[in] SC_RPC_HANDLE hService,
|
||||||
[in] DWORD dwServiceType,
|
[in] DWORD dwServiceType,
|
||||||
[in] DWORD dwStartType,
|
[in] DWORD dwStartType,
|
||||||
|
@ -518,7 +494,6 @@ interface svcctl
|
||||||
|
|
||||||
/* Function 24 */
|
/* Function 24 */
|
||||||
DWORD RCreateServiceA(
|
DWORD RCreateServiceA(
|
||||||
[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,
|
||||||
[in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPSTR lpDisplayName,
|
[in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPSTR lpDisplayName,
|
||||||
|
@ -538,7 +513,6 @@ interface svcctl
|
||||||
|
|
||||||
/* Function 25 */
|
/* Function 25 */
|
||||||
DWORD REnumDependentServicesA(
|
DWORD REnumDependentServicesA(
|
||||||
[in] handle_t BindingHandle,
|
|
||||||
[in] SC_RPC_HANDLE hService,
|
[in] SC_RPC_HANDLE hService,
|
||||||
[in] DWORD dwServiceState,
|
[in] DWORD dwServiceState,
|
||||||
[out, size_is(cbBufSize)] LPBYTE lpServices,
|
[out, size_is(cbBufSize)] LPBYTE lpServices,
|
||||||
|
@ -548,7 +522,6 @@ interface svcctl
|
||||||
|
|
||||||
/* Function 26 */
|
/* Function 26 */
|
||||||
DWORD REnumServicesStatusA(
|
DWORD REnumServicesStatusA(
|
||||||
[in] handle_t BindingHandle,
|
|
||||||
[in] SC_RPC_HANDLE hSCManager,
|
[in] SC_RPC_HANDLE hSCManager,
|
||||||
[in] DWORD dwServiceType,
|
[in] DWORD dwServiceType,
|
||||||
[in] DWORD dwServiceState,
|
[in] DWORD dwServiceState,
|
||||||
|
@ -560,7 +533,6 @@ interface svcctl
|
||||||
|
|
||||||
/* Function 27 */
|
/* Function 27 */
|
||||||
DWORD ROpenSCManagerA(
|
DWORD ROpenSCManagerA(
|
||||||
// [in] handle_t BindingHandle,
|
|
||||||
[in, string, unique, range(0, SC_MAX_COMPUTER_NAME_LENGTH)] SVCCTL_HANDLEA lpMachineName,
|
[in, string, unique, range(0, SC_MAX_COMPUTER_NAME_LENGTH)] SVCCTL_HANDLEA lpMachineName,
|
||||||
[in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPSTR lpDatabaseName,
|
[in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPSTR lpDatabaseName,
|
||||||
[in] DWORD dwDesiredAccess,
|
[in] DWORD dwDesiredAccess,
|
||||||
|
@ -568,7 +540,6 @@ interface svcctl
|
||||||
|
|
||||||
/* Function 28 */
|
/* Function 28 */
|
||||||
DWORD ROpenServiceA(
|
DWORD ROpenServiceA(
|
||||||
[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,
|
||||||
[in] DWORD dwDesiredAccess,
|
[in] DWORD dwDesiredAccess,
|
||||||
|
@ -576,7 +547,6 @@ interface svcctl
|
||||||
|
|
||||||
/* Function 29 */
|
/* Function 29 */
|
||||||
DWORD RQueryServiceConfigA(
|
DWORD RQueryServiceConfigA(
|
||||||
[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,
|
||||||
/* FIXME: should be [out] LPQUERY_SERVICE_CONFIGA lpServiceConfig, */
|
/* FIXME: should be [out] LPQUERY_SERVICE_CONFIGA lpServiceConfig, */
|
||||||
|
@ -585,7 +555,6 @@ interface svcctl
|
||||||
|
|
||||||
/* Function 30 */
|
/* Function 30 */
|
||||||
DWORD RQueryServiceLockStatusA(
|
DWORD RQueryServiceLockStatusA(
|
||||||
[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,
|
||||||
[in, range(0, 1024*4)] DWORD cbBufSize,
|
[in, range(0, 1024*4)] DWORD cbBufSize,
|
||||||
|
@ -593,14 +562,12 @@ interface svcctl
|
||||||
|
|
||||||
/* Function 31 */
|
/* Function 31 */
|
||||||
DWORD RStartServiceA(
|
DWORD RStartServiceA(
|
||||||
[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 RGetServiceDisplayNameA(
|
DWORD RGetServiceDisplayNameA(
|
||||||
[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,
|
||||||
[out, string, size_is(*lpcchBuffer)] LPSTR lpDisplayName,
|
[out, string, size_is(*lpcchBuffer)] LPSTR lpDisplayName,
|
||||||
|
@ -608,7 +575,6 @@ interface svcctl
|
||||||
|
|
||||||
/* Function 33 */
|
/* Function 33 */
|
||||||
DWORD RGetServiceKeyNameA(
|
DWORD RGetServiceKeyNameA(
|
||||||
[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,
|
||||||
[out, string, size_is(*lpcchBuffer)] LPSTR lpKeyName,
|
[out, string, size_is(*lpcchBuffer)] LPSTR lpKeyName,
|
||||||
|
@ -616,14 +582,12 @@ interface svcctl
|
||||||
|
|
||||||
/* Function 34 */
|
/* Function 34 */
|
||||||
DWORD RI_ScGetCurrentGroupStateW(
|
DWORD RI_ScGetCurrentGroupStateW(
|
||||||
[in] handle_t BindingHandle,
|
|
||||||
[in] SC_RPC_HANDLE hSCManager,
|
[in] SC_RPC_HANDLE hSCManager,
|
||||||
[in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPWSTR lpLoadOrderGroup,
|
[in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPWSTR lpLoadOrderGroup,
|
||||||
[out] LPDWORD lpState);
|
[out] LPDWORD lpState);
|
||||||
|
|
||||||
/* Function 35 */
|
/* Function 35 */
|
||||||
DWORD REnumServiceGroupW(
|
DWORD REnumServiceGroupW(
|
||||||
[in] handle_t BindingHandle,
|
|
||||||
[in] SC_RPC_HANDLE hSCManager,
|
[in] SC_RPC_HANDLE hSCManager,
|
||||||
[in] DWORD dwServiceType,
|
[in] DWORD dwServiceType,
|
||||||
[in] DWORD dwServiceState,
|
[in] DWORD dwServiceState,
|
||||||
|
@ -636,19 +600,16 @@ interface svcctl
|
||||||
|
|
||||||
/* Function 36 */
|
/* Function 36 */
|
||||||
DWORD RChangeServiceConfig2A(
|
DWORD RChangeServiceConfig2A(
|
||||||
[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 RChangeServiceConfig2W(
|
DWORD RChangeServiceConfig2W(
|
||||||
[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 RQueryServiceConfig2A(
|
DWORD RQueryServiceConfig2A(
|
||||||
[in] handle_t BindingHandle,
|
|
||||||
[in] SC_RPC_HANDLE hService,
|
[in] SC_RPC_HANDLE hService,
|
||||||
[in] DWORD dwInfoLevel,
|
[in] DWORD dwInfoLevel,
|
||||||
[out, size_is(cbBufSize)] LPBYTE lpBuffer,
|
[out, size_is(cbBufSize)] LPBYTE lpBuffer,
|
||||||
|
@ -657,7 +618,6 @@ interface svcctl
|
||||||
|
|
||||||
/* Function 39 */
|
/* Function 39 */
|
||||||
DWORD RQueryServiceConfig2W(
|
DWORD RQueryServiceConfig2W(
|
||||||
[in] handle_t BindingHandle,
|
|
||||||
[in] SC_RPC_HANDLE hService,
|
[in] SC_RPC_HANDLE hService,
|
||||||
[in] DWORD dwInfoLevel,
|
[in] DWORD dwInfoLevel,
|
||||||
[out, size_is(cbBufSize)] LPBYTE lpBuffer,
|
[out, size_is(cbBufSize)] LPBYTE lpBuffer,
|
||||||
|
@ -666,7 +626,6 @@ interface svcctl
|
||||||
|
|
||||||
/* Function 40 */
|
/* Function 40 */
|
||||||
DWORD RQueryServiceStatusEx(
|
DWORD RQueryServiceStatusEx(
|
||||||
[in] handle_t BindingHandle,
|
|
||||||
[in] SC_RPC_HANDLE hService,
|
[in] SC_RPC_HANDLE hService,
|
||||||
[in] SC_STATUS_TYPE InfoLevel,
|
[in] SC_STATUS_TYPE InfoLevel,
|
||||||
[out, size_is(cbBufSize)] LPBYTE lpBuffer,
|
[out, size_is(cbBufSize)] LPBYTE lpBuffer,
|
||||||
|
@ -675,7 +634,6 @@ interface svcctl
|
||||||
|
|
||||||
/* Function 41 */
|
/* Function 41 */
|
||||||
DWORD REnumServicesStatusExA(
|
DWORD REnumServicesStatusExA(
|
||||||
[in] handle_t BindingHandle,
|
|
||||||
[in] SC_RPC_HANDLE hSCManager,
|
[in] SC_RPC_HANDLE hSCManager,
|
||||||
[in] SC_ENUM_TYPE InfoLevel,
|
[in] SC_ENUM_TYPE InfoLevel,
|
||||||
[in] DWORD dwServiceType,
|
[in] DWORD dwServiceType,
|
||||||
|
@ -689,7 +647,6 @@ interface svcctl
|
||||||
|
|
||||||
/* Function 42 */
|
/* Function 42 */
|
||||||
DWORD REnumServicesStatusExW(
|
DWORD REnumServicesStatusExW(
|
||||||
[in] handle_t BindingHandle,
|
|
||||||
[in] SC_RPC_HANDLE hSCManager,
|
[in] SC_RPC_HANDLE hSCManager,
|
||||||
[in] SC_ENUM_TYPE InfoLevel,
|
[in] SC_ENUM_TYPE InfoLevel,
|
||||||
[in] DWORD dwServiceType,
|
[in] DWORD dwServiceType,
|
||||||
|
@ -749,7 +706,6 @@ interface svcctl
|
||||||
|
|
||||||
/* Function 47 */
|
/* Function 47 */
|
||||||
DWORD RNotifyServiceStatusChange(
|
DWORD RNotifyServiceStatusChange(
|
||||||
[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,
|
||||||
[in] GUID* pClientProcessGuid,
|
[in] GUID* pClientProcessGuid,
|
||||||
|
@ -759,19 +715,16 @@ interface svcctl
|
||||||
|
|
||||||
/* Function 48 */
|
/* Function 48 */
|
||||||
DWORD RGetNotifyResults(
|
DWORD RGetNotifyResults(
|
||||||
[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 RCloseNotifyHandle(
|
DWORD RCloseNotifyHandle(
|
||||||
[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 RControlServiceExA(
|
DWORD RControlServiceExA(
|
||||||
[in] handle_t BindingHandle,
|
|
||||||
[in] SC_RPC_HANDLE hService,
|
[in] SC_RPC_HANDLE hService,
|
||||||
[in] DWORD dwControl,
|
[in] DWORD dwControl,
|
||||||
[in] DWORD dwInfoLevel/*,
|
[in] DWORD dwInfoLevel/*,
|
||||||
|
@ -780,7 +733,6 @@ interface svcctl
|
||||||
|
|
||||||
/* Function 51 */
|
/* Function 51 */
|
||||||
DWORD RControlServiceExW(
|
DWORD RControlServiceExW(
|
||||||
[in] handle_t BindingHandle,
|
|
||||||
[in] SC_RPC_HANDLE hService,
|
[in] SC_RPC_HANDLE hService,
|
||||||
[in] DWORD dwControl,
|
[in] DWORD dwControl,
|
||||||
[in] DWORD dwInfoLevel/*,
|
[in] DWORD dwInfoLevel/*,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue