[SERVICES] Use the STDCALL calling convention for all remote procedure calls.

This commit is contained in:
Eric Kohl 2017-11-12 14:04:22 +01:00
parent 2b5c4bd2c7
commit 7dd8ebcbbd
2 changed files with 338 additions and 114 deletions

View file

@ -928,7 +928,9 @@ Int_EnumDependentServicesW(HKEY hServicesKey,
/* Function 0 */ /* Function 0 */
DWORD RCloseServiceHandle( DWORD
WINAPI
RCloseServiceHandle(
LPSC_RPC_HANDLE hSCObject) LPSC_RPC_HANDLE hSCObject)
{ {
PMANAGER_HANDLE hManager; PMANAGER_HANDLE hManager;
@ -1058,7 +1060,9 @@ DWORD RCloseServiceHandle(
/* Function 1 */ /* Function 1 */
DWORD RControlService( DWORD
WINAPI
RControlService(
SC_RPC_HANDLE hService, SC_RPC_HANDLE hService,
DWORD dwControl, DWORD dwControl,
LPSERVICE_STATUS lpServiceStatus) LPSERVICE_STATUS lpServiceStatus)
@ -1271,7 +1275,9 @@ DWORD RControlService(
/* Function 2 */ /* Function 2 */
DWORD RDeleteService( DWORD
WINAPI
RDeleteService(
SC_RPC_HANDLE hService) SC_RPC_HANDLE hService)
{ {
PSERVICE_HANDLE hSvc; PSERVICE_HANDLE hSvc;
@ -1327,7 +1333,9 @@ Done:
/* Function 3 */ /* Function 3 */
DWORD RLockServiceDatabase( DWORD
WINAPI
RLockServiceDatabase(
SC_RPC_HANDLE hSCManager, SC_RPC_HANDLE hSCManager,
LPSC_RPC_LOCK lpLock) LPSC_RPC_LOCK lpLock)
{ {
@ -1353,7 +1361,9 @@ DWORD RLockServiceDatabase(
/* Function 4 */ /* Function 4 */
DWORD RQueryServiceObjectSecurity( DWORD
WINAPI
RQueryServiceObjectSecurity(
SC_RPC_HANDLE hService, SC_RPC_HANDLE hService,
SECURITY_INFORMATION dwSecurityInformation, SECURITY_INFORMATION dwSecurityInformation,
LPBYTE lpSecurityDescriptor, LPBYTE lpSecurityDescriptor,
@ -1435,7 +1445,9 @@ DWORD RQueryServiceObjectSecurity(
/* Function 5 */ /* Function 5 */
DWORD RSetServiceObjectSecurity( DWORD
WINAPI
RSetServiceObjectSecurity(
SC_RPC_HANDLE hService, SC_RPC_HANDLE hService,
DWORD dwSecurityInformation, DWORD dwSecurityInformation,
LPBYTE lpSecurityDescriptor, LPBYTE lpSecurityDescriptor,
@ -1561,7 +1573,9 @@ Done:
/* Function 6 */ /* Function 6 */
DWORD RQueryServiceStatus( DWORD
WINAPI
RQueryServiceStatus(
SC_RPC_HANDLE hService, SC_RPC_HANDLE hService,
LPSERVICE_STATUS lpServiceStatus) LPSERVICE_STATUS lpServiceStatus)
{ {
@ -1630,7 +1644,9 @@ ScmIsValidServiceState(DWORD dwCurrentState)
/* Function 7 */ /* Function 7 */
DWORD RSetServiceStatus( DWORD
WINAPI
RSetServiceStatus(
RPC_SERVICE_STATUS_HANDLE hServiceStatus, RPC_SERVICE_STATUS_HANDLE hServiceStatus,
LPSERVICE_STATUS lpServiceStatus) LPSERVICE_STATUS lpServiceStatus)
{ {
@ -1764,7 +1780,9 @@ DWORD RSetServiceStatus(
/* Function 8 */ /* Function 8 */
DWORD RUnlockServiceDatabase( DWORD
WINAPI
RUnlockServiceDatabase(
LPSC_RPC_LOCK Lock) LPSC_RPC_LOCK Lock)
{ {
DPRINT("RUnlockServiceDatabase(%p)\n", Lock); DPRINT("RUnlockServiceDatabase(%p)\n", Lock);
@ -1773,7 +1791,9 @@ DWORD RUnlockServiceDatabase(
/* Function 9 */ /* Function 9 */
DWORD RNotifyBootConfigStatus( DWORD
WINAPI
RNotifyBootConfigStatus(
SVCCTL_HANDLEW lpMachineName, SVCCTL_HANDLEW lpMachineName,
DWORD BootAcceptable) DWORD BootAcceptable)
{ {
@ -1786,7 +1806,9 @@ DWORD RNotifyBootConfigStatus(
/* Function 10 */ /* Function 10 */
DWORD RI_ScSetServiceBitsW( DWORD
WINAPI
RI_ScSetServiceBitsW(
RPC_SERVICE_STATUS_HANDLE hServiceStatus, RPC_SERVICE_STATUS_HANDLE hServiceStatus,
DWORD dwServiceBits, DWORD dwServiceBits,
int bSetBitsOn, int bSetBitsOn,
@ -1799,7 +1821,9 @@ DWORD RI_ScSetServiceBitsW(
/* Function 11 */ /* Function 11 */
DWORD RChangeServiceConfigW( DWORD
WINAPI
RChangeServiceConfigW(
SC_RPC_HANDLE hService, SC_RPC_HANDLE hService,
DWORD dwServiceType, DWORD dwServiceType,
DWORD dwStartType, DWORD dwStartType,
@ -2092,7 +2116,9 @@ done:
/* Function 12 */ /* Function 12 */
DWORD RCreateServiceW( DWORD
WINAPI
RCreateServiceW(
SC_RPC_HANDLE hSCManager, SC_RPC_HANDLE hSCManager,
LPCWSTR lpServiceName, LPCWSTR lpServiceName,
LPCWSTR lpDisplayName, LPCWSTR lpDisplayName,
@ -2503,7 +2529,9 @@ done:
/* Function 13 */ /* Function 13 */
DWORD REnumDependentServicesW( DWORD
WINAPI
REnumDependentServicesW(
SC_RPC_HANDLE hService, SC_RPC_HANDLE hService,
DWORD dwServiceState, DWORD dwServiceState,
LPBYTE lpServices, LPBYTE lpServices,
@ -2636,7 +2664,9 @@ Done:
/* Function 14 */ /* Function 14 */
DWORD REnumServicesStatusW( DWORD
WINAPI
REnumServicesStatusW(
SC_RPC_HANDLE hSCManager, SC_RPC_HANDLE hSCManager,
DWORD dwServiceType, DWORD dwServiceType,
DWORD dwServiceState, DWORD dwServiceState,
@ -2660,7 +2690,9 @@ DWORD REnumServicesStatusW(
/* Function 15 */ /* Function 15 */
DWORD ROpenSCManagerW( DWORD
WINAPI
ROpenSCManagerW(
LPWSTR lpMachineName, LPWSTR lpMachineName,
LPWSTR lpDatabaseName, LPWSTR lpDatabaseName,
DWORD dwDesiredAccess, DWORD dwDesiredAccess,
@ -2710,7 +2742,9 @@ DWORD ROpenSCManagerW(
/* Function 16 */ /* Function 16 */
DWORD ROpenServiceW( DWORD
WINAPI
ROpenServiceW(
SC_RPC_HANDLE hSCManager, SC_RPC_HANDLE hSCManager,
LPWSTR lpServiceName, LPWSTR lpServiceName,
DWORD dwDesiredAccess, DWORD dwDesiredAccess,
@ -2791,7 +2825,9 @@ Done:
/* Function 17 */ /* Function 17 */
DWORD RQueryServiceConfigW( DWORD
WINAPI
RQueryServiceConfigW(
SC_RPC_HANDLE hService, SC_RPC_HANDLE hService,
LPBYTE lpBuf, //LPQUERY_SERVICE_CONFIGW lpServiceConfig, LPBYTE lpBuf, //LPQUERY_SERVICE_CONFIGW lpServiceConfig,
DWORD cbBufSize, DWORD cbBufSize,
@ -2998,7 +3034,9 @@ Done:
/* Function 18 */ /* Function 18 */
DWORD RQueryServiceLockStatusW( DWORD
WINAPI
RQueryServiceLockStatusW(
SC_RPC_HANDLE hSCManager, SC_RPC_HANDLE hSCManager,
LPBYTE lpBuf, // LPQUERY_SERVICE_LOCK_STATUSW lpLockStatus, LPBYTE lpBuf, // LPQUERY_SERVICE_LOCK_STATUSW lpLockStatus,
DWORD cbBufSize, DWORD cbBufSize,
@ -3039,7 +3077,9 @@ DWORD RQueryServiceLockStatusW(
/* Function 19 */ /* Function 19 */
DWORD RStartServiceW( DWORD
WINAPI
RStartServiceW(
SC_RPC_HANDLE hService, SC_RPC_HANDLE hService,
DWORD argc, DWORD argc,
LPSTRING_PTRSW argv) LPSTRING_PTRSW argv)
@ -3100,7 +3140,9 @@ DWORD RStartServiceW(
/* Function 20 */ /* Function 20 */
DWORD RGetServiceDisplayNameW( DWORD
WINAPI
RGetServiceDisplayNameW(
SC_RPC_HANDLE hSCManager, SC_RPC_HANDLE hSCManager,
LPCWSTR lpServiceName, LPCWSTR lpServiceName,
LPWSTR lpDisplayName, LPWSTR lpDisplayName,
@ -3174,7 +3216,9 @@ DWORD RGetServiceDisplayNameW(
/* Function 21 */ /* Function 21 */
DWORD RGetServiceKeyNameW( DWORD
WINAPI
RGetServiceKeyNameW(
SC_RPC_HANDLE hSCManager, SC_RPC_HANDLE hSCManager,
LPCWSTR lpDisplayName, LPCWSTR lpDisplayName,
LPWSTR lpServiceName, LPWSTR lpServiceName,
@ -3237,7 +3281,9 @@ DWORD RGetServiceKeyNameW(
/* Function 22 */ /* Function 22 */
DWORD RI_ScSetServiceBitsA( DWORD
WINAPI
RI_ScSetServiceBitsA(
RPC_SERVICE_STATUS_HANDLE hServiceStatus, RPC_SERVICE_STATUS_HANDLE hServiceStatus,
DWORD dwServiceBits, DWORD dwServiceBits,
int bSetBitsOn, int bSetBitsOn,
@ -3250,7 +3296,9 @@ DWORD RI_ScSetServiceBitsA(
/* Function 23 */ /* Function 23 */
DWORD RChangeServiceConfigA( DWORD
WINAPI
RChangeServiceConfigA(
SC_RPC_HANDLE hService, SC_RPC_HANDLE hService,
DWORD dwServiceType, DWORD dwServiceType,
DWORD dwStartType, DWORD dwStartType,
@ -3576,7 +3624,9 @@ done:
/* Function 24 */ /* Function 24 */
DWORD RCreateServiceA( DWORD
WINAPI
RCreateServiceA(
SC_RPC_HANDLE hSCManager, SC_RPC_HANDLE hSCManager,
LPSTR lpServiceName, LPSTR lpServiceName,
LPSTR lpDisplayName, LPSTR lpDisplayName,
@ -3727,7 +3777,9 @@ cleanup:
/* Function 25 */ /* Function 25 */
DWORD REnumDependentServicesA( DWORD
WINAPI
REnumDependentServicesA(
SC_RPC_HANDLE hService, SC_RPC_HANDLE hService,
DWORD dwServiceState, DWORD dwServiceState,
LPBYTE lpServices, LPBYTE lpServices,
@ -3879,7 +3931,9 @@ Done:
/* Function 26 */ /* Function 26 */
DWORD REnumServicesStatusA( DWORD
WINAPI
REnumServicesStatusA(
SC_RPC_HANDLE hSCManager, SC_RPC_HANDLE hSCManager,
DWORD dwServiceType, DWORD dwServiceType,
DWORD dwServiceState, DWORD dwServiceState,
@ -3984,7 +4038,9 @@ Done:
/* Function 27 */ /* Function 27 */
DWORD ROpenSCManagerA( DWORD
WINAPI
ROpenSCManagerA(
LPSTR lpMachineName, LPSTR lpMachineName,
LPSTR lpDatabaseName, LPSTR lpDatabaseName,
DWORD dwDesiredAccess, DWORD dwDesiredAccess,
@ -4020,7 +4076,9 @@ DWORD ROpenSCManagerA(
/* Function 28 */ /* Function 28 */
DWORD ROpenServiceA( DWORD
WINAPI
ROpenServiceA(
SC_RPC_HANDLE hSCManager, SC_RPC_HANDLE hSCManager,
LPSTR lpServiceName, LPSTR lpServiceName,
DWORD dwDesiredAccess, DWORD dwDesiredAccess,
@ -4048,7 +4106,9 @@ DWORD ROpenServiceA(
/* Function 29 */ /* Function 29 */
DWORD RQueryServiceConfigA( DWORD
WINAPI
RQueryServiceConfigA(
SC_RPC_HANDLE hService, SC_RPC_HANDLE hService,
LPBYTE lpBuf, //LPQUERY_SERVICE_CONFIGA lpServiceConfig, LPBYTE lpBuf, //LPQUERY_SERVICE_CONFIGA lpServiceConfig,
DWORD cbBufSize, DWORD cbBufSize,
@ -4288,7 +4348,9 @@ Done:
/* Function 30 */ /* Function 30 */
DWORD RQueryServiceLockStatusA( DWORD
WINAPI
RQueryServiceLockStatusA(
SC_RPC_HANDLE hSCManager, SC_RPC_HANDLE hSCManager,
LPBYTE lpBuf, // LPQUERY_SERVICE_LOCK_STATUSA lpLockStatus, LPBYTE lpBuf, // LPQUERY_SERVICE_LOCK_STATUSA lpLockStatus,
DWORD cbBufSize, DWORD cbBufSize,
@ -4329,7 +4391,9 @@ DWORD RQueryServiceLockStatusA(
/* Function 31 */ /* Function 31 */
DWORD RStartServiceA( DWORD
WINAPI
RStartServiceA(
SC_RPC_HANDLE hService, SC_RPC_HANDLE hService,
DWORD argc, DWORD argc,
LPSTRING_PTRSA argv) LPSTRING_PTRSA argv)
@ -4429,7 +4493,9 @@ done:
/* Function 32 */ /* Function 32 */
DWORD RGetServiceDisplayNameA( DWORD
WINAPI
RGetServiceDisplayNameA(
SC_RPC_HANDLE hSCManager, SC_RPC_HANDLE hSCManager,
LPCSTR lpServiceName, LPCSTR lpServiceName,
LPSTR lpDisplayName, LPSTR lpDisplayName,
@ -4536,7 +4602,9 @@ DWORD RGetServiceDisplayNameA(
/* Function 33 */ /* Function 33 */
DWORD RGetServiceKeyNameA( DWORD
WINAPI
RGetServiceKeyNameA(
SC_RPC_HANDLE hSCManager, SC_RPC_HANDLE hSCManager,
LPCSTR lpDisplayName, LPCSTR lpDisplayName,
LPSTR lpServiceName, LPSTR lpServiceName,
@ -4613,7 +4681,9 @@ DWORD RGetServiceKeyNameA(
/* Function 34 */ /* Function 34 */
DWORD RI_ScGetCurrentGroupStateW( DWORD
WINAPI
RI_ScGetCurrentGroupStateW(
SC_RPC_HANDLE hSCManager, SC_RPC_HANDLE hSCManager,
LPWSTR lpLoadOrderGroup, LPWSTR lpLoadOrderGroup,
LPDWORD lpState) LPDWORD lpState)
@ -4668,7 +4738,9 @@ done:
/* Function 35 */ /* Function 35 */
DWORD REnumServiceGroupW( DWORD
WINAPI
REnumServiceGroupW(
SC_RPC_HANDLE hSCManager, SC_RPC_HANDLE hSCManager,
DWORD dwServiceType, DWORD dwServiceType,
DWORD dwServiceState, DWORD dwServiceState,
@ -4932,7 +5004,9 @@ Done:
/* Function 36 */ /* Function 36 */
DWORD RChangeServiceConfig2A( DWORD
WINAPI
RChangeServiceConfig2A(
SC_RPC_HANDLE hService, SC_RPC_HANDLE hService,
SC_RPC_CONFIG_INFOA Info) SC_RPC_CONFIG_INFOA Info)
{ {
@ -5323,7 +5397,9 @@ done:
/* Function 37 */ /* Function 37 */
DWORD RChangeServiceConfig2W( DWORD
WINAPI
RChangeServiceConfig2W(
SC_RPC_HANDLE hService, SC_RPC_HANDLE hService,
SC_RPC_CONFIG_INFOW Info) SC_RPC_CONFIG_INFOW Info)
{ {
@ -5447,7 +5523,9 @@ done:
/* Function 38 */ /* Function 38 */
DWORD RQueryServiceConfig2A( DWORD
WINAPI
RQueryServiceConfig2A(
SC_RPC_HANDLE hService, SC_RPC_HANDLE hService,
DWORD dwInfoLevel, DWORD dwInfoLevel,
LPBYTE lpBuffer, LPBYTE lpBuffer,
@ -5684,7 +5762,9 @@ done:
/* Function 39 */ /* Function 39 */
DWORD RQueryServiceConfig2W( DWORD
WINAPI
RQueryServiceConfig2W(
SC_RPC_HANDLE hService, SC_RPC_HANDLE hService,
DWORD dwInfoLevel, DWORD dwInfoLevel,
LPBYTE lpBuffer, LPBYTE lpBuffer,
@ -5898,7 +5978,9 @@ done:
/* Function 40 */ /* Function 40 */
DWORD RQueryServiceStatusEx( DWORD
WINAPI
RQueryServiceStatusEx(
SC_RPC_HANDLE hService, SC_RPC_HANDLE hService,
SC_STATUS_TYPE InfoLevel, SC_STATUS_TYPE InfoLevel,
LPBYTE lpBuffer, LPBYTE lpBuffer,
@ -5969,7 +6051,9 @@ DWORD RQueryServiceStatusEx(
/* Function 41 */ /* Function 41 */
DWORD REnumServicesStatusExA( DWORD
WINAPI
REnumServicesStatusExA(
SC_RPC_HANDLE hSCManager, SC_RPC_HANDLE hSCManager,
SC_ENUM_TYPE InfoLevel, SC_ENUM_TYPE InfoLevel,
DWORD dwServiceType, DWORD dwServiceType,
@ -6106,7 +6190,9 @@ Done:
/* Function 42 */ /* Function 42 */
DWORD REnumServicesStatusExW( DWORD
WINAPI
REnumServicesStatusExW(
SC_RPC_HANDLE hSCManager, SC_RPC_HANDLE hSCManager,
SC_ENUM_TYPE InfoLevel, SC_ENUM_TYPE InfoLevel,
DWORD dwServiceType, DWORD dwServiceType,
@ -6399,7 +6485,9 @@ Done:
/* Function 43 */ /* Function 43 */
DWORD RSendTSMessage( DWORD
WINAPI
RSendTSMessage(
handle_t BindingHandle) /* FIXME */ handle_t BindingHandle) /* FIXME */
{ {
UNIMPLEMENTED; UNIMPLEMENTED;
@ -6408,7 +6496,9 @@ DWORD RSendTSMessage(
/* Function 44 */ /* Function 44 */
DWORD RCreateServiceWOW64A( DWORD
WINAPI
RCreateServiceWOW64A(
handle_t BindingHandle, handle_t BindingHandle,
LPSTR lpServiceName, LPSTR lpServiceName,
LPSTR lpDisplayName, LPSTR lpDisplayName,
@ -6432,7 +6522,9 @@ DWORD RCreateServiceWOW64A(
/* Function 45 */ /* Function 45 */
DWORD RCreateServiceWOW64W( DWORD
WINAPI
RCreateServiceWOW64W(
handle_t BindingHandle, handle_t BindingHandle,
LPWSTR lpServiceName, LPWSTR lpServiceName,
LPWSTR lpDisplayName, LPWSTR lpDisplayName,
@ -6456,7 +6548,9 @@ DWORD RCreateServiceWOW64W(
/* Function 46 */ /* Function 46 */
DWORD RQueryServiceTagInfo( DWORD
WINAPI
RQueryServiceTagInfo(
handle_t BindingHandle) /* FIXME */ handle_t BindingHandle) /* FIXME */
{ {
UNIMPLEMENTED; UNIMPLEMENTED;
@ -6465,7 +6559,9 @@ DWORD RQueryServiceTagInfo(
/* Function 47 */ /* Function 47 */
DWORD RNotifyServiceStatusChange( DWORD
WINAPI
RNotifyServiceStatusChange(
SC_RPC_HANDLE hService, SC_RPC_HANDLE hService,
SC_RPC_NOTIFY_PARAMS NotifyParams, SC_RPC_NOTIFY_PARAMS NotifyParams,
GUID *pClientProcessGuid, GUID *pClientProcessGuid,
@ -6479,7 +6575,9 @@ DWORD RNotifyServiceStatusChange(
/* Function 48 */ /* Function 48 */
DWORD RGetNotifyResults( DWORD
WINAPI
RGetNotifyResults(
SC_NOTIFY_RPC_HANDLE hNotify, SC_NOTIFY_RPC_HANDLE hNotify,
PSC_RPC_NOTIFY_PARAMS_LIST *ppNotifyParams) PSC_RPC_NOTIFY_PARAMS_LIST *ppNotifyParams)
{ {
@ -6489,7 +6587,9 @@ DWORD RGetNotifyResults(
/* Function 49 */ /* Function 49 */
DWORD RCloseNotifyHandle( DWORD
WINAPI
RCloseNotifyHandle(
LPSC_NOTIFY_RPC_HANDLE phNotify, LPSC_NOTIFY_RPC_HANDLE phNotify,
PBOOL pfApcFired) PBOOL pfApcFired)
{ {
@ -6499,7 +6599,9 @@ DWORD RCloseNotifyHandle(
/* Function 50 */ /* Function 50 */
DWORD RControlServiceExA( DWORD
WINAPI
RControlServiceExA(
SC_RPC_HANDLE hService, SC_RPC_HANDLE hService,
DWORD dwControl, DWORD dwControl,
DWORD dwInfoLevel) DWORD dwInfoLevel)
@ -6510,7 +6612,9 @@ DWORD RControlServiceExA(
/* Function 51 */ /* Function 51 */
DWORD RControlServiceExW( DWORD
WINAPI
RControlServiceExW(
SC_RPC_HANDLE hService, SC_RPC_HANDLE hService,
DWORD dwControl, DWORD dwControl,
DWORD dwInfoLevel) DWORD dwInfoLevel)
@ -6521,7 +6625,9 @@ DWORD RControlServiceExW(
/* Function 52 */ /* Function 52 */
DWORD RSendPnPMessage( DWORD
WINAPI
RSendPnPMessage(
handle_t BindingHandle) /* FIXME */ handle_t BindingHandle) /* FIXME */
{ {
UNIMPLEMENTED; UNIMPLEMENTED;
@ -6530,7 +6636,9 @@ DWORD RSendPnPMessage(
/* Function 53 */ /* Function 53 */
DWORD RValidatePnPService( DWORD
WINAPI
RValidatePnPService(
handle_t BindingHandle) /* FIXME */ handle_t BindingHandle) /* FIXME */
{ {
UNIMPLEMENTED; UNIMPLEMENTED;
@ -6539,7 +6647,9 @@ DWORD RValidatePnPService(
/* Function 54 */ /* Function 54 */
DWORD ROpenServiceStatusHandle( DWORD
WINAPI
ROpenServiceStatusHandle(
handle_t BindingHandle) /* FIXME */ handle_t BindingHandle) /* FIXME */
{ {
UNIMPLEMENTED; UNIMPLEMENTED;
@ -6548,7 +6658,9 @@ DWORD ROpenServiceStatusHandle(
/* Function 55 */ /* Function 55 */
DWORD RFunction55( DWORD
WINAPI
RFunction55(
handle_t BindingHandle) /* FIXME */ handle_t BindingHandle) /* FIXME */
{ {
UNIMPLEMENTED; UNIMPLEMENTED;

View file

@ -305,26 +305,36 @@ typedef struct _STRING_PTRSW {
interface svcctl interface svcctl
{ {
/* Function 0 */ /* Function 0 */
DWORD RCloseServiceHandle( DWORD
__stdcall
RCloseServiceHandle(
[in, out] LPSC_RPC_HANDLE hSCObject); [in, out] LPSC_RPC_HANDLE hSCObject);
/* Function 1 */ /* Function 1 */
DWORD RControlService( DWORD
__stdcall
RControlService(
[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
__stdcall
RDeleteService(
[in] SC_RPC_HANDLE hService); [in] SC_RPC_HANDLE hService);
/* Function 3 */ /* Function 3 */
DWORD RLockServiceDatabase( DWORD
__stdcall
RLockServiceDatabase(
[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
__stdcall
RQueryServiceObjectSecurity(
[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,
@ -332,33 +342,45 @@ interface svcctl
[out] LPBOUNDED_DWORD_256K pcbBytesNeeded); [out] LPBOUNDED_DWORD_256K pcbBytesNeeded);
/* Function 5 */ /* Function 5 */
DWORD RSetServiceObjectSecurity( DWORD
__stdcall
RSetServiceObjectSecurity(
[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,
[in] DWORD dwSecuityDescriptorSize); [in] DWORD dwSecuityDescriptorSize);
/* Function 6 */ /* Function 6 */
DWORD RQueryServiceStatus( DWORD
__stdcall
RQueryServiceStatus(
[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
__stdcall
RSetServiceStatus(
[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
__stdcall
RUnlockServiceDatabase(
[in, out] LPSC_RPC_LOCK Lock); [in, out] LPSC_RPC_LOCK Lock);
/* Function 9 */ /* Function 9 */
DWORD RNotifyBootConfigStatus( DWORD
__stdcall
RNotifyBootConfigStatus(
[in, string, unique] SVCCTL_HANDLEW lpMachineName, [in, string, unique] SVCCTL_HANDLEW lpMachineName,
[in] DWORD BootAcceptable); [in] DWORD BootAcceptable);
/* Function 10 */ /* Function 10 */
DWORD RI_ScSetServiceBitsW( DWORD
__stdcall
RI_ScSetServiceBitsW(
[in] RPC_SERVICE_STATUS_HANDLE hServiceStatus, [in] RPC_SERVICE_STATUS_HANDLE hServiceStatus,
[in] DWORD dwServiceBits, [in] DWORD dwServiceBits,
[in] BOOL bSetBitsOn, [in] BOOL bSetBitsOn,
@ -366,7 +388,9 @@ interface svcctl
[in, string, unique] LPWSTR lpString); [in, string, unique] LPWSTR lpString);
/* Function 11 */ /* Function 11 */
DWORD RChangeServiceConfigW( DWORD
__stdcall
RChangeServiceConfigW(
[in] SC_RPC_HANDLE hService, [in] SC_RPC_HANDLE hService,
[in] DWORD dwServiceType, [in] DWORD dwServiceType,
[in] DWORD dwStartType, [in] DWORD dwStartType,
@ -382,7 +406,9 @@ interface svcctl
[in, string, unique] LPWSTR lpDisplayName); [in, string, unique] LPWSTR lpDisplayName);
/* Function 12 */ /* Function 12 */
DWORD RCreateServiceW( DWORD
__stdcall
RCreateServiceW(
[in] SC_RPC_HANDLE hSCManager, [in] SC_RPC_HANDLE hSCManager,
[in, string] LPCWSTR lpServiceName, [in, string] LPCWSTR lpServiceName,
[in, string, unique] LPCWSTR lpDisplayName, [in, string, unique] LPCWSTR lpDisplayName,
@ -401,7 +427,9 @@ interface svcctl
[out] LPSC_RPC_HANDLE lpServiceHandle); [out] LPSC_RPC_HANDLE lpServiceHandle);
/* Function 13 */ /* Function 13 */
DWORD REnumDependentServicesW( DWORD
__stdcall
REnumDependentServicesW(
[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,
@ -410,7 +438,9 @@ interface svcctl
[out] LPBOUNDED_DWORD_256K lpServicesReturned); [out] LPBOUNDED_DWORD_256K lpServicesReturned);
/* Function 14 */ /* Function 14 */
DWORD REnumServicesStatusW( DWORD
__stdcall
REnumServicesStatusW(
[in] SC_RPC_HANDLE hSCManager, [in] SC_RPC_HANDLE hSCManager,
[in] DWORD dwServiceType, [in] DWORD dwServiceType,
[in] DWORD dwServiceState, [in] DWORD dwServiceState,
@ -421,21 +451,27 @@ interface svcctl
[in, out, unique] LPBOUNDED_DWORD_256K lpResumeHandle); [in, out, unique] LPBOUNDED_DWORD_256K lpResumeHandle);
/* Function 15 */ /* Function 15 */
DWORD ROpenSCManagerW( DWORD
__stdcall
ROpenSCManagerW(
[in, string, unique] SVCCTL_HANDLEW lpMachineName, [in, string, unique] SVCCTL_HANDLEW lpMachineName,
[in, string, unique] LPWSTR lpDatabaseName, [in, string, unique] LPWSTR lpDatabaseName,
[in] DWORD dwDesiredAccess, [in] DWORD dwDesiredAccess,
[out] LPSC_RPC_HANDLE lpScHandle); [out] LPSC_RPC_HANDLE lpScHandle);
/* Function 16 */ /* Function 16 */
DWORD ROpenServiceW( DWORD
__stdcall
ROpenServiceW(
[in] SC_RPC_HANDLE hSCManager, [in] SC_RPC_HANDLE hSCManager,
[in, string] LPWSTR lpServiceName, [in, string] LPWSTR lpServiceName,
[in] DWORD dwDesiredAccess, [in] DWORD dwDesiredAccess,
[out] LPSC_RPC_HANDLE lpServiceHandle); [out] LPSC_RPC_HANDLE lpServiceHandle);
/* Function 17 */ /* Function 17 */
DWORD RQueryServiceConfigW( DWORD
__stdcall
RQueryServiceConfigW(
[in] SC_RPC_HANDLE hService, [in] SC_RPC_HANDLE hService,
[out, size_is(cbBufSize)] LPBYTE lpServiceConfig, [out, size_is(cbBufSize)] LPBYTE lpServiceConfig,
/* FIXME: should be [out] LPQUERY_SERVICE_CONFIGW lpServiceConfig, */ /* FIXME: should be [out] LPQUERY_SERVICE_CONFIGW lpServiceConfig, */
@ -443,7 +479,9 @@ interface svcctl
[out] LPBOUNDED_DWORD_8K pcbBytesNeeded); [out] LPBOUNDED_DWORD_8K pcbBytesNeeded);
/* Function 18 */ /* Function 18 */
DWORD RQueryServiceLockStatusW( DWORD
__stdcall
RQueryServiceLockStatusW(
[in] SC_RPC_HANDLE hSCManager, [in] SC_RPC_HANDLE hSCManager,
[out, size_is(cbBufSize)] LPBYTE lpLockStatus, [out, size_is(cbBufSize)] LPBYTE lpLockStatus,
/* FIXME: should be [out] LPQUERY_SERVICE_LOCK_STATUSW lpLockStatus, */ /* FIXME: should be [out] LPQUERY_SERVICE_LOCK_STATUSW lpLockStatus, */
@ -451,27 +489,35 @@ interface svcctl
[out] LPBOUNDED_DWORD_4K pcbBytesNeeded); [out] LPBOUNDED_DWORD_4K pcbBytesNeeded);
/* Function 19 */ /* Function 19 */
DWORD RStartServiceW( DWORD
__stdcall
RStartServiceW(
[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
__stdcall
RGetServiceDisplayNameW(
[in] SC_RPC_HANDLE hSCManager, [in] SC_RPC_HANDLE hSCManager,
[in, string] LPCWSTR lpServiceName, [in, string] LPCWSTR lpServiceName,
[out, string, size_is(*lpcchBuffer + 1)] LPWSTR lpDisplayName, [out, string, size_is(*lpcchBuffer + 1)] LPWSTR lpDisplayName,
[in, out] DWORD* lpcchBuffer); [in, out] DWORD* lpcchBuffer);
/* Function 21 */ /* Function 21 */
DWORD RGetServiceKeyNameW( DWORD
__stdcall
RGetServiceKeyNameW(
[in] SC_RPC_HANDLE hSCManager, [in] SC_RPC_HANDLE hSCManager,
[in, string] LPCWSTR lpDisplayName, [in, string] LPCWSTR lpDisplayName,
[out, string, size_is(*lpcchBuffer + 1)] LPWSTR lpServiceName, [out, string, size_is(*lpcchBuffer + 1)] LPWSTR lpServiceName,
[in, out] DWORD* lpcchBuffer); [in, out] DWORD* lpcchBuffer);
/* Function 22 */ /* Function 22 */
DWORD RI_ScSetServiceBitsA( DWORD
__stdcall
RI_ScSetServiceBitsA(
[in] RPC_SERVICE_STATUS_HANDLE hServiceStatus, [in] RPC_SERVICE_STATUS_HANDLE hServiceStatus,
[in] DWORD dwServiceBits, [in] DWORD dwServiceBits,
[in] BOOL bSetBitsOn, [in] BOOL bSetBitsOn,
@ -479,7 +525,9 @@ interface svcctl
[in, string, unique] LPSTR lpString); [in, string, unique] LPSTR lpString);
/* Function 23 */ /* Function 23 */
DWORD RChangeServiceConfigA( DWORD
__stdcall
RChangeServiceConfigA(
[in] SC_RPC_HANDLE hService, [in] SC_RPC_HANDLE hService,
[in] DWORD dwServiceType, [in] DWORD dwServiceType,
[in] DWORD dwStartType, [in] DWORD dwStartType,
@ -495,7 +543,9 @@ interface svcctl
[in, string, unique] LPSTR lpDisplayName); [in, string, unique] LPSTR lpDisplayName);
/* Function 24 */ /* Function 24 */
DWORD RCreateServiceA( DWORD
__stdcall
RCreateServiceA(
[in] SC_RPC_HANDLE hSCManager, [in] SC_RPC_HANDLE hSCManager,
[in, string] LPSTR lpServiceName, [in, string] LPSTR lpServiceName,
[in, string, unique] LPSTR lpDisplayName, [in, string, unique] LPSTR lpDisplayName,
@ -514,7 +564,9 @@ interface svcctl
[out] LPSC_RPC_HANDLE lpServiceHandle); [out] LPSC_RPC_HANDLE lpServiceHandle);
/* Function 25 */ /* Function 25 */
DWORD REnumDependentServicesA( DWORD
__stdcall
REnumDependentServicesA(
[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,
@ -523,7 +575,9 @@ interface svcctl
[out] LPBOUNDED_DWORD_256K lpServicesReturned); [out] LPBOUNDED_DWORD_256K lpServicesReturned);
/* Function 26 */ /* Function 26 */
DWORD REnumServicesStatusA( DWORD
__stdcall
REnumServicesStatusA(
[in] SC_RPC_HANDLE hSCManager, [in] SC_RPC_HANDLE hSCManager,
[in] DWORD dwServiceType, [in] DWORD dwServiceType,
[in] DWORD dwServiceState, [in] DWORD dwServiceState,
@ -534,21 +588,27 @@ interface svcctl
[in, out, unique] LPBOUNDED_DWORD_256K lpResumeHandle); [in, out, unique] LPBOUNDED_DWORD_256K lpResumeHandle);
/* Function 27 */ /* Function 27 */
DWORD ROpenSCManagerA( DWORD
__stdcall
ROpenSCManagerA(
[in, string, unique] SVCCTL_HANDLEA lpMachineName, [in, string, unique] SVCCTL_HANDLEA lpMachineName,
[in, string, unique] LPSTR lpDatabaseName, [in, string, unique] LPSTR lpDatabaseName,
[in] DWORD dwDesiredAccess, [in] DWORD dwDesiredAccess,
[out] LPSC_RPC_HANDLE lpScHandle); [out] LPSC_RPC_HANDLE lpScHandle);
/* Function 28 */ /* Function 28 */
DWORD ROpenServiceA( DWORD
__stdcall
ROpenServiceA(
[in] SC_RPC_HANDLE hSCManager, [in] SC_RPC_HANDLE hSCManager,
[in, string] LPSTR lpServiceName, [in, string] LPSTR lpServiceName,
[in] DWORD dwDesiredAccess, [in] DWORD dwDesiredAccess,
[out] LPSC_RPC_HANDLE lpServiceHandle); [out] LPSC_RPC_HANDLE lpServiceHandle);
/* Function 29 */ /* Function 29 */
DWORD RQueryServiceConfigA( DWORD
__stdcall
RQueryServiceConfigA(
[in] SC_RPC_HANDLE hService, [in] SC_RPC_HANDLE hService,
[out, size_is(cbBufSize)] LPBYTE lpServiceConfig, [out, size_is(cbBufSize)] LPBYTE lpServiceConfig,
/* FIXME: should be [out] LPQUERY_SERVICE_CONFIGA lpServiceConfig, */ /* FIXME: should be [out] LPQUERY_SERVICE_CONFIGA lpServiceConfig, */
@ -556,7 +616,9 @@ interface svcctl
[out] LPBOUNDED_DWORD_8K pcbBytesNeeded); [out] LPBOUNDED_DWORD_8K pcbBytesNeeded);
/* Function 30 */ /* Function 30 */
DWORD RQueryServiceLockStatusA( DWORD
__stdcall
RQueryServiceLockStatusA(
[in] SC_RPC_HANDLE hSCManager, [in] SC_RPC_HANDLE hSCManager,
[out, size_is(cbBufSize)] LPBYTE lpLockStatus, [out, size_is(cbBufSize)] LPBYTE lpLockStatus,
/* FIXME: should be [out] LPQUERY_SERVICE_LOCK_STATUSA lpLockStatus, */ /* FIXME: should be [out] LPQUERY_SERVICE_LOCK_STATUSA lpLockStatus, */
@ -564,33 +626,43 @@ interface svcctl
[out] LPBOUNDED_DWORD_4K pcbBytesNeeded); [out] LPBOUNDED_DWORD_4K pcbBytesNeeded);
/* Function 31 */ /* Function 31 */
DWORD RStartServiceA( DWORD
__stdcall
RStartServiceA(
[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
__stdcall
RGetServiceDisplayNameA(
[in] SC_RPC_HANDLE hSCManager, [in] SC_RPC_HANDLE hSCManager,
[in, string] LPCSTR lpServiceName, [in, string] LPCSTR lpServiceName,
[out, string, size_is(*lpcchBuffer)] LPSTR lpDisplayName, [out, string, size_is(*lpcchBuffer)] LPSTR lpDisplayName,
[in, out] LPBOUNDED_DWORD_4K lpcchBuffer); [in, out] LPBOUNDED_DWORD_4K lpcchBuffer);
/* Function 33 */ /* Function 33 */
DWORD RGetServiceKeyNameA( DWORD
__stdcall
RGetServiceKeyNameA(
[in] SC_RPC_HANDLE hSCManager, [in] SC_RPC_HANDLE hSCManager,
[in, string] LPCSTR lpDisplayName, [in, string] LPCSTR lpDisplayName,
[out, string, size_is(*lpcchBuffer)] LPSTR lpKeyName, [out, string, size_is(*lpcchBuffer)] LPSTR lpKeyName,
[in, out] LPBOUNDED_DWORD_4K lpcchBuffer); [in, out] LPBOUNDED_DWORD_4K lpcchBuffer);
/* Function 34 */ /* Function 34 */
DWORD RI_ScGetCurrentGroupStateW( DWORD
__stdcall
RI_ScGetCurrentGroupStateW(
[in] SC_RPC_HANDLE hSCManager, [in] SC_RPC_HANDLE hSCManager,
[in, string, unique] LPWSTR lpLoadOrderGroup, [in, string, unique] LPWSTR lpLoadOrderGroup,
[out] LPDWORD lpState); [out] LPDWORD lpState);
/* Function 35 */ /* Function 35 */
DWORD REnumServiceGroupW( DWORD
__stdcall
REnumServiceGroupW(
[in] SC_RPC_HANDLE hSCManager, [in] SC_RPC_HANDLE hSCManager,
[in] DWORD dwServiceType, [in] DWORD dwServiceType,
[in] DWORD dwServiceState, [in] DWORD dwServiceState,
@ -602,17 +674,23 @@ interface svcctl
[in, string, unique] LPCWSTR pszGroupName); [in, string, unique] LPCWSTR pszGroupName);
/* Function 36 */ /* Function 36 */
DWORD RChangeServiceConfig2A( DWORD
__stdcall
RChangeServiceConfig2A(
[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
__stdcall
RChangeServiceConfig2W(
[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
__stdcall
RQueryServiceConfig2A(
[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,
@ -620,7 +698,9 @@ interface svcctl
[out] LPBOUNDED_DWORD_8K pcbBytesNeeded); [out] LPBOUNDED_DWORD_8K pcbBytesNeeded);
/* Function 39 */ /* Function 39 */
DWORD RQueryServiceConfig2W( DWORD
__stdcall
RQueryServiceConfig2W(
[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,
@ -628,7 +708,9 @@ interface svcctl
[out] LPBOUNDED_DWORD_8K pcbBytesNeeded); [out] LPBOUNDED_DWORD_8K pcbBytesNeeded);
/* Function 40 */ /* Function 40 */
DWORD RQueryServiceStatusEx( DWORD
__stdcall
RQueryServiceStatusEx(
[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,
@ -636,7 +718,9 @@ interface svcctl
[out] LPBOUNDED_DWORD_8K pcbBytesNeeded); [out] LPBOUNDED_DWORD_8K pcbBytesNeeded);
/* Function 41 */ /* Function 41 */
DWORD REnumServicesStatusExA( DWORD
__stdcall
REnumServicesStatusExA(
[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,
@ -649,7 +733,9 @@ interface svcctl
[in, string, unique] LPCSTR pszGroupName); [in, string, unique] LPCSTR pszGroupName);
/* Function 42 */ /* Function 42 */
DWORD REnumServicesStatusExW( DWORD
__stdcall
REnumServicesStatusExW(
[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,
@ -662,11 +748,15 @@ interface svcctl
[in, string, unique] LPCWSTR pszGroupName); [in, string, unique] LPCWSTR pszGroupName);
/* Function 43 */ /* Function 43 */
DWORD RSendTSMessage( DWORD
__stdcall
RSendTSMessage(
[in] handle_t BindingHandle); /* FIXME */ [in] handle_t BindingHandle); /* FIXME */
/* Function 44 */ /* Function 44 */
DWORD RCreateServiceWOW64A( DWORD
__stdcall
RCreateServiceWOW64A(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in, string] LPSTR lpServiceName, [in, string] LPSTR lpServiceName,
[in, string, unique] LPSTR lpDisplayName, [in, string, unique] LPSTR lpDisplayName,
@ -685,7 +775,9 @@ interface svcctl
[out] LPSC_RPC_HANDLE lpServiceHandle); [out] LPSC_RPC_HANDLE lpServiceHandle);
/* Function 45 */ /* Function 45 */
DWORD RCreateServiceWOW64W( DWORD
__stdcall
RCreateServiceWOW64W(
[in] handle_t BindingHandle, [in] handle_t BindingHandle,
[in, string] LPWSTR lpServiceName, [in, string] LPWSTR lpServiceName,
[in, string, unique] LPWSTR lpDisplayName, [in, string, unique] LPWSTR lpDisplayName,
@ -704,11 +796,15 @@ interface svcctl
[out] LPSC_RPC_HANDLE lpServiceHandle); [out] LPSC_RPC_HANDLE lpServiceHandle);
/* Function 46 */ /* Function 46 */
DWORD RQueryServiceTagInfo( DWORD
__stdcall
RQueryServiceTagInfo(
[in] handle_t BindingHandle); /* FIXME */ [in] handle_t BindingHandle); /* FIXME */
/* Function 47 */ /* Function 47 */
DWORD RNotifyServiceStatusChange( DWORD
__stdcall
RNotifyServiceStatusChange(
[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,
@ -717,17 +813,23 @@ interface svcctl
[out] LPSC_NOTIFY_RPC_HANDLE phNotify); [out] LPSC_NOTIFY_RPC_HANDLE phNotify);
/* Function 48 */ /* Function 48 */
DWORD RGetNotifyResults( DWORD
__stdcall
RGetNotifyResults(
[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
__stdcall
RCloseNotifyHandle(
[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
__stdcall
RControlServiceExA(
[in] SC_RPC_HANDLE hService, [in] SC_RPC_HANDLE hService,
[in] DWORD dwControl, [in] DWORD dwControl,
[in] DWORD dwInfoLevel/*, [in] DWORD dwInfoLevel/*,
@ -735,7 +837,9 @@ 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 RControlServiceExW( DWORD
__stdcall
RControlServiceExW(
[in] SC_RPC_HANDLE hService, [in] SC_RPC_HANDLE hService,
[in] DWORD dwControl, [in] DWORD dwControl,
[in] DWORD dwInfoLevel/*, [in] DWORD dwInfoLevel/*,
@ -743,18 +847,26 @@ 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 RSendPnPMessage( DWORD
__stdcall
RSendPnPMessage(
[in] handle_t BindingHandle); /* FIXME */ [in] handle_t BindingHandle); /* FIXME */
/* Function 53 */ /* Function 53 */
DWORD RValidatePnPService( DWORD
__stdcall
RValidatePnPService(
[in] handle_t BindingHandle); /* FIXME */ [in] handle_t BindingHandle); /* FIXME */
/* Function 54 */ /* Function 54 */
DWORD ROpenServiceStatusHandle( DWORD
__stdcall
ROpenServiceStatusHandle(
[in] handle_t BindingHandle); /* FIXME */ [in] handle_t BindingHandle); /* FIXME */
/* Function 55 */ /* Function 55 */
DWORD RFunction55( DWORD
__stdcall
RFunction55(
[in] handle_t BindingHandle); /* FIXME */ [in] handle_t BindingHandle); /* FIXME */
} }