[SERVICES] Use the STDCALL calling convention for all remote procedure calls.
authorEric Kohl <eric.kohl@reactos.org>
Sun, 12 Nov 2017 13:04:22 +0000 (14:04 +0100)
committerEric Kohl <eric.kohl@reactos.org>
Sun, 12 Nov 2017 13:04:22 +0000 (14:04 +0100)
base/system/services/rpcserver.c
sdk/include/reactos/idl/svcctl.idl

index 3465d4d..d2f032c 100644 (file)
@@ -928,7 +928,9 @@ Int_EnumDependentServicesW(HKEY hServicesKey,
 
 
 /* Function 0 */
-DWORD RCloseServiceHandle(
+DWORD
+WINAPI
+RCloseServiceHandle(
     LPSC_RPC_HANDLE hSCObject)
 {
     PMANAGER_HANDLE hManager;
@@ -1058,7 +1060,9 @@ DWORD RCloseServiceHandle(
 
 
 /* Function 1 */
-DWORD RControlService(
+DWORD
+WINAPI
+RControlService(
     SC_RPC_HANDLE hService,
     DWORD dwControl,
     LPSERVICE_STATUS lpServiceStatus)
@@ -1271,7 +1275,9 @@ DWORD RControlService(
 
 
 /* Function 2 */
-DWORD RDeleteService(
+DWORD
+WINAPI
+RDeleteService(
     SC_RPC_HANDLE hService)
 {
     PSERVICE_HANDLE hSvc;
@@ -1327,7 +1333,9 @@ Done:
 
 
 /* Function 3 */
-DWORD RLockServiceDatabase(
+DWORD
+WINAPI
+RLockServiceDatabase(
     SC_RPC_HANDLE hSCManager,
     LPSC_RPC_LOCK lpLock)
 {
@@ -1353,7 +1361,9 @@ DWORD RLockServiceDatabase(
 
 
 /* Function 4 */
-DWORD RQueryServiceObjectSecurity(
+DWORD
+WINAPI
+RQueryServiceObjectSecurity(
     SC_RPC_HANDLE hService,
     SECURITY_INFORMATION dwSecurityInformation,
     LPBYTE lpSecurityDescriptor,
@@ -1435,7 +1445,9 @@ DWORD RQueryServiceObjectSecurity(
 
 
 /* Function 5 */
-DWORD RSetServiceObjectSecurity(
+DWORD
+WINAPI
+RSetServiceObjectSecurity(
     SC_RPC_HANDLE hService,
     DWORD dwSecurityInformation,
     LPBYTE lpSecurityDescriptor,
@@ -1561,7 +1573,9 @@ Done:
 
 
 /* Function 6 */
-DWORD RQueryServiceStatus(
+DWORD
+WINAPI
+RQueryServiceStatus(
     SC_RPC_HANDLE hService,
     LPSERVICE_STATUS lpServiceStatus)
 {
@@ -1630,7 +1644,9 @@ ScmIsValidServiceState(DWORD dwCurrentState)
 
 
 /* Function 7 */
-DWORD RSetServiceStatus(
+DWORD
+WINAPI
+RSetServiceStatus(
     RPC_SERVICE_STATUS_HANDLE hServiceStatus,
     LPSERVICE_STATUS lpServiceStatus)
 {
@@ -1764,7 +1780,9 @@ DWORD RSetServiceStatus(
 
 
 /* Function 8 */
-DWORD RUnlockServiceDatabase(
+DWORD
+WINAPI
+RUnlockServiceDatabase(
     LPSC_RPC_LOCK Lock)
 {
     DPRINT("RUnlockServiceDatabase(%p)\n", Lock);
@@ -1773,7 +1791,9 @@ DWORD RUnlockServiceDatabase(
 
 
 /* Function 9 */
-DWORD RNotifyBootConfigStatus(
+DWORD
+WINAPI
+RNotifyBootConfigStatus(
     SVCCTL_HANDLEW lpMachineName,
     DWORD BootAcceptable)
 {
@@ -1786,7 +1806,9 @@ DWORD RNotifyBootConfigStatus(
 
 
 /* Function 10 */
-DWORD RI_ScSetServiceBitsW(
+DWORD
+WINAPI
+RI_ScSetServiceBitsW(
     RPC_SERVICE_STATUS_HANDLE hServiceStatus,
     DWORD dwServiceBits,
     int bSetBitsOn,
@@ -1799,7 +1821,9 @@ DWORD RI_ScSetServiceBitsW(
 
 
 /* Function 11 */
-DWORD RChangeServiceConfigW(
+DWORD
+WINAPI
+RChangeServiceConfigW(
     SC_RPC_HANDLE hService,
     DWORD dwServiceType,
     DWORD dwStartType,
@@ -2092,7 +2116,9 @@ done:
 
 
 /* Function 12 */
-DWORD RCreateServiceW(
+DWORD
+WINAPI
+RCreateServiceW(
     SC_RPC_HANDLE hSCManager,
     LPCWSTR lpServiceName,
     LPCWSTR lpDisplayName,
@@ -2503,7 +2529,9 @@ done:
 
 
 /* Function 13 */
-DWORD REnumDependentServicesW(
+DWORD
+WINAPI
+REnumDependentServicesW(
     SC_RPC_HANDLE hService,
     DWORD dwServiceState,
     LPBYTE lpServices,
@@ -2636,7 +2664,9 @@ Done:
 
 
 /* Function 14 */
-DWORD REnumServicesStatusW(
+DWORD
+WINAPI
+REnumServicesStatusW(
     SC_RPC_HANDLE hSCManager,
     DWORD dwServiceType,
     DWORD dwServiceState,
@@ -2660,7 +2690,9 @@ DWORD REnumServicesStatusW(
 
 
 /* Function 15 */
-DWORD ROpenSCManagerW(
+DWORD
+WINAPI
+ROpenSCManagerW(
     LPWSTR lpMachineName,
     LPWSTR lpDatabaseName,
     DWORD dwDesiredAccess,
@@ -2710,7 +2742,9 @@ DWORD ROpenSCManagerW(
 
 
 /* Function 16 */
-DWORD ROpenServiceW(
+DWORD
+WINAPI
+ROpenServiceW(
     SC_RPC_HANDLE hSCManager,
     LPWSTR lpServiceName,
     DWORD dwDesiredAccess,
@@ -2791,7 +2825,9 @@ Done:
 
 
 /* Function 17 */
-DWORD RQueryServiceConfigW(
+DWORD
+WINAPI
+RQueryServiceConfigW(
     SC_RPC_HANDLE hService,
     LPBYTE lpBuf, //LPQUERY_SERVICE_CONFIGW lpServiceConfig,
     DWORD cbBufSize,
@@ -2998,7 +3034,9 @@ Done:
 
 
 /* Function 18 */
-DWORD RQueryServiceLockStatusW(
+DWORD
+WINAPI
+RQueryServiceLockStatusW(
     SC_RPC_HANDLE hSCManager,
     LPBYTE lpBuf, // LPQUERY_SERVICE_LOCK_STATUSW lpLockStatus,
     DWORD cbBufSize,
@@ -3039,7 +3077,9 @@ DWORD RQueryServiceLockStatusW(
 
 
 /* Function 19 */
-DWORD RStartServiceW(
+DWORD
+WINAPI
+RStartServiceW(
     SC_RPC_HANDLE hService,
     DWORD argc,
     LPSTRING_PTRSW argv)
@@ -3100,7 +3140,9 @@ DWORD RStartServiceW(
 
 
 /* Function 20 */
-DWORD RGetServiceDisplayNameW(
+DWORD
+WINAPI
+RGetServiceDisplayNameW(
     SC_RPC_HANDLE hSCManager,
     LPCWSTR lpServiceName,
     LPWSTR lpDisplayName,
@@ -3174,7 +3216,9 @@ DWORD RGetServiceDisplayNameW(
 
 
 /* Function 21 */
-DWORD RGetServiceKeyNameW(
+DWORD
+WINAPI
+RGetServiceKeyNameW(
     SC_RPC_HANDLE hSCManager,
     LPCWSTR lpDisplayName,
     LPWSTR lpServiceName,
@@ -3237,7 +3281,9 @@ DWORD RGetServiceKeyNameW(
 
 
 /* Function 22 */
-DWORD RI_ScSetServiceBitsA(
+DWORD
+WINAPI
+RI_ScSetServiceBitsA(
     RPC_SERVICE_STATUS_HANDLE hServiceStatus,
     DWORD dwServiceBits,
     int bSetBitsOn,
@@ -3250,7 +3296,9 @@ DWORD RI_ScSetServiceBitsA(
 
 
 /* Function 23 */
-DWORD RChangeServiceConfigA(
+DWORD
+WINAPI
+RChangeServiceConfigA(
     SC_RPC_HANDLE hService,
     DWORD dwServiceType,
     DWORD dwStartType,
@@ -3576,7 +3624,9 @@ done:
 
 
 /* Function 24 */
-DWORD RCreateServiceA(
+DWORD
+WINAPI
+RCreateServiceA(
     SC_RPC_HANDLE hSCManager,
     LPSTR lpServiceName,
     LPSTR lpDisplayName,
@@ -3727,7 +3777,9 @@ cleanup:
 
 
 /* Function 25 */
-DWORD REnumDependentServicesA(
+DWORD
+WINAPI
+REnumDependentServicesA(
     SC_RPC_HANDLE hService,
     DWORD dwServiceState,
     LPBYTE lpServices,
@@ -3879,7 +3931,9 @@ Done:
 
 
 /* Function 26 */
-DWORD REnumServicesStatusA(
+DWORD
+WINAPI
+REnumServicesStatusA(
     SC_RPC_HANDLE hSCManager,
     DWORD dwServiceType,
     DWORD dwServiceState,
@@ -3984,7 +4038,9 @@ Done:
 
 
 /* Function 27 */
-DWORD ROpenSCManagerA(
+DWORD
+WINAPI
+ROpenSCManagerA(
     LPSTR lpMachineName,
     LPSTR lpDatabaseName,
     DWORD dwDesiredAccess,
@@ -4020,7 +4076,9 @@ DWORD ROpenSCManagerA(
 
 
 /* Function 28 */
-DWORD ROpenServiceA(
+DWORD
+WINAPI
+ROpenServiceA(
     SC_RPC_HANDLE hSCManager,
     LPSTR lpServiceName,
     DWORD dwDesiredAccess,
@@ -4048,7 +4106,9 @@ DWORD ROpenServiceA(
 
 
 /* Function 29 */
-DWORD RQueryServiceConfigA(
+DWORD
+WINAPI
+RQueryServiceConfigA(
     SC_RPC_HANDLE hService,
     LPBYTE lpBuf, //LPQUERY_SERVICE_CONFIGA lpServiceConfig,
     DWORD cbBufSize,
@@ -4288,7 +4348,9 @@ Done:
 
 
 /* Function 30 */
-DWORD RQueryServiceLockStatusA(
+DWORD
+WINAPI
+RQueryServiceLockStatusA(
     SC_RPC_HANDLE hSCManager,
     LPBYTE lpBuf, // LPQUERY_SERVICE_LOCK_STATUSA lpLockStatus,
     DWORD cbBufSize,
@@ -4329,7 +4391,9 @@ DWORD RQueryServiceLockStatusA(
 
 
 /* Function 31 */
-DWORD RStartServiceA(
+DWORD
+WINAPI
+RStartServiceA(
     SC_RPC_HANDLE hService,
     DWORD argc,
     LPSTRING_PTRSA argv)
@@ -4429,7 +4493,9 @@ done:
 
 
 /* Function 32 */
-DWORD RGetServiceDisplayNameA(
+DWORD
+WINAPI
+RGetServiceDisplayNameA(
     SC_RPC_HANDLE hSCManager,
     LPCSTR lpServiceName,
     LPSTR lpDisplayName,
@@ -4536,7 +4602,9 @@ DWORD RGetServiceDisplayNameA(
 
 
 /* Function 33 */
-DWORD RGetServiceKeyNameA(
+DWORD
+WINAPI
+RGetServiceKeyNameA(
     SC_RPC_HANDLE hSCManager,
     LPCSTR lpDisplayName,
     LPSTR lpServiceName,
@@ -4613,7 +4681,9 @@ DWORD RGetServiceKeyNameA(
 
 
 /* Function 34 */
-DWORD RI_ScGetCurrentGroupStateW(
+DWORD
+WINAPI
+RI_ScGetCurrentGroupStateW(
     SC_RPC_HANDLE hSCManager,
     LPWSTR lpLoadOrderGroup,
     LPDWORD lpState)
@@ -4668,7 +4738,9 @@ done:
 
 
 /* Function 35 */
-DWORD REnumServiceGroupW(
+DWORD
+WINAPI
+REnumServiceGroupW(
     SC_RPC_HANDLE hSCManager,
     DWORD dwServiceType,
     DWORD dwServiceState,
@@ -4932,7 +5004,9 @@ Done:
 
 
 /* Function 36 */
-DWORD RChangeServiceConfig2A(
+DWORD
+WINAPI
+RChangeServiceConfig2A(
     SC_RPC_HANDLE hService,
     SC_RPC_CONFIG_INFOA Info)
 {
@@ -5323,7 +5397,9 @@ done:
 
 
 /* Function 37 */
-DWORD RChangeServiceConfig2W(
+DWORD
+WINAPI
+RChangeServiceConfig2W(
     SC_RPC_HANDLE hService,
     SC_RPC_CONFIG_INFOW Info)
 {
@@ -5447,7 +5523,9 @@ done:
 
 
 /* Function 38 */
-DWORD RQueryServiceConfig2A(
+DWORD
+WINAPI
+RQueryServiceConfig2A(
     SC_RPC_HANDLE hService,
     DWORD dwInfoLevel,
     LPBYTE lpBuffer,
@@ -5684,7 +5762,9 @@ done:
 
 
 /* Function 39 */
-DWORD RQueryServiceConfig2W(
+DWORD
+WINAPI
+RQueryServiceConfig2W(
     SC_RPC_HANDLE hService,
     DWORD dwInfoLevel,
     LPBYTE lpBuffer,
@@ -5898,7 +5978,9 @@ done:
 
 
 /* Function 40 */
-DWORD RQueryServiceStatusEx(
+DWORD
+WINAPI
+RQueryServiceStatusEx(
     SC_RPC_HANDLE hService,
     SC_STATUS_TYPE InfoLevel,
     LPBYTE lpBuffer,
@@ -5969,7 +6051,9 @@ DWORD RQueryServiceStatusEx(
 
 
 /* Function 41 */
-DWORD REnumServicesStatusExA(
+DWORD
+WINAPI
+REnumServicesStatusExA(
     SC_RPC_HANDLE hSCManager,
     SC_ENUM_TYPE InfoLevel,
     DWORD dwServiceType,
@@ -6106,7 +6190,9 @@ Done:
 
 
 /* Function 42 */
-DWORD REnumServicesStatusExW(
+DWORD
+WINAPI
+REnumServicesStatusExW(
     SC_RPC_HANDLE hSCManager,
     SC_ENUM_TYPE InfoLevel,
     DWORD dwServiceType,
@@ -6399,7 +6485,9 @@ Done:
 
 
 /* Function 43 */
-DWORD RSendTSMessage(
+DWORD
+WINAPI
+RSendTSMessage(
     handle_t BindingHandle)  /* FIXME */
 {
     UNIMPLEMENTED;
@@ -6408,7 +6496,9 @@ DWORD RSendTSMessage(
 
 
 /* Function 44 */
-DWORD RCreateServiceWOW64A(
+DWORD
+WINAPI
+RCreateServiceWOW64A(
     handle_t BindingHandle,
     LPSTR lpServiceName,
     LPSTR lpDisplayName,
@@ -6432,7 +6522,9 @@ DWORD RCreateServiceWOW64A(
 
 
 /* Function 45 */
-DWORD RCreateServiceWOW64W(
+DWORD
+WINAPI
+RCreateServiceWOW64W(
     handle_t BindingHandle,
     LPWSTR lpServiceName,
     LPWSTR lpDisplayName,
@@ -6456,7 +6548,9 @@ DWORD RCreateServiceWOW64W(
 
 
 /* Function 46 */
-DWORD RQueryServiceTagInfo(
+DWORD
+WINAPI
+RQueryServiceTagInfo(
     handle_t BindingHandle)  /* FIXME */
 {
     UNIMPLEMENTED;
@@ -6465,7 +6559,9 @@ DWORD RQueryServiceTagInfo(
 
 
 /* Function 47 */
-DWORD RNotifyServiceStatusChange(
+DWORD
+WINAPI
+RNotifyServiceStatusChange(
     SC_RPC_HANDLE hService,
     SC_RPC_NOTIFY_PARAMS NotifyParams,
     GUID *pClientProcessGuid,
@@ -6479,7 +6575,9 @@ DWORD RNotifyServiceStatusChange(
 
 
 /* Function 48 */
-DWORD RGetNotifyResults(
+DWORD
+WINAPI
+RGetNotifyResults(
     SC_NOTIFY_RPC_HANDLE hNotify,
     PSC_RPC_NOTIFY_PARAMS_LIST *ppNotifyParams)
 {
@@ -6489,7 +6587,9 @@ DWORD RGetNotifyResults(
 
 
 /* Function 49 */
-DWORD RCloseNotifyHandle(
+DWORD
+WINAPI
+RCloseNotifyHandle(
     LPSC_NOTIFY_RPC_HANDLE phNotify,
     PBOOL pfApcFired)
 {
@@ -6499,7 +6599,9 @@ DWORD RCloseNotifyHandle(
 
 
 /* Function 50 */
-DWORD RControlServiceExA(
+DWORD
+WINAPI
+RControlServiceExA(
     SC_RPC_HANDLE hService,
     DWORD dwControl,
     DWORD dwInfoLevel)
@@ -6510,7 +6612,9 @@ DWORD RControlServiceExA(
 
 
 /* Function 51 */
-DWORD RControlServiceExW(
+DWORD
+WINAPI
+RControlServiceExW(
     SC_RPC_HANDLE hService,
     DWORD dwControl,
     DWORD dwInfoLevel)
@@ -6521,7 +6625,9 @@ DWORD RControlServiceExW(
 
 
 /* Function 52 */
-DWORD RSendPnPMessage(
+DWORD
+WINAPI
+RSendPnPMessage(
     handle_t BindingHandle)  /* FIXME */
 {
     UNIMPLEMENTED;
@@ -6530,7 +6636,9 @@ DWORD RSendPnPMessage(
 
 
 /* Function 53 */
-DWORD RValidatePnPService(
+DWORD
+WINAPI
+RValidatePnPService(
     handle_t BindingHandle)  /* FIXME */
 {
     UNIMPLEMENTED;
@@ -6539,7 +6647,9 @@ DWORD RValidatePnPService(
 
 
 /* Function 54 */
-DWORD ROpenServiceStatusHandle(
+DWORD
+WINAPI
+ROpenServiceStatusHandle(
     handle_t BindingHandle)  /* FIXME */
 {
     UNIMPLEMENTED;
@@ -6548,7 +6658,9 @@ DWORD ROpenServiceStatusHandle(
 
 
 /* Function 55 */
-DWORD RFunction55(
+DWORD
+WINAPI
+RFunction55(
     handle_t BindingHandle)  /* FIXME */
 {
     UNIMPLEMENTED;
index 76904c5..36234e7 100644 (file)
@@ -305,26 +305,36 @@ typedef struct _STRING_PTRSW {
 interface svcctl
 {
     /* Function 0 */
-    DWORD RCloseServiceHandle(
+    DWORD
+    __stdcall
+    RCloseServiceHandle(
         [in, out] LPSC_RPC_HANDLE hSCObject);
 
     /* Function 1 */
-    DWORD RControlService(
+    DWORD
+    __stdcall
+    RControlService(
         [in] SC_RPC_HANDLE hService,
         [in] DWORD dwControl,
         [out] LPSERVICE_STATUS lpServiceStatus);
 
     /* Function 2 */
-    DWORD RDeleteService(
+    DWORD
+    __stdcall
+    RDeleteService(
         [in] SC_RPC_HANDLE hService);
 
     /* Function 3 */
-    DWORD RLockServiceDatabase(
+    DWORD
+    __stdcall
+    RLockServiceDatabase(
         [in] SC_RPC_HANDLE hSCManager,
         [out] LPSC_RPC_LOCK lpLock);
 
     /* Function 4 */
-    DWORD RQueryServiceObjectSecurity(
+    DWORD
+    __stdcall
+    RQueryServiceObjectSecurity(
         [in] SC_RPC_HANDLE hService,
         [in] SECURITY_INFORMATION dwSecurityInformation,
         [out, size_is(cbBufSize)] LPBYTE lpSecurityDescriptor,
@@ -332,33 +342,45 @@ interface svcctl
         [out] LPBOUNDED_DWORD_256K pcbBytesNeeded);
 
     /* Function 5 */
-    DWORD RSetServiceObjectSecurity(
+    DWORD
+    __stdcall
+    RSetServiceObjectSecurity(
         [in] SC_RPC_HANDLE hService,
         [in] DWORD dwSecurityInformation,
         [in, size_is(dwSecuityDescriptorSize)] LPBYTE lpSecurityDescriptor,
         [in] DWORD dwSecuityDescriptorSize);
 
     /* Function 6 */
-    DWORD RQueryServiceStatus(
+    DWORD
+    __stdcall
+    RQueryServiceStatus(
         [in] SC_RPC_HANDLE hService,
         [out] LPSERVICE_STATUS lpServiceStatus);
 
     /* Function 7 */
-    DWORD RSetServiceStatus(
-      [in] RPC_SERVICE_STATUS_HANDLE hServiceStatus,
-      [in] LPSERVICE_STATUS lpServiceStatus);
+    DWORD
+    __stdcall
+    RSetServiceStatus(
+        [in] RPC_SERVICE_STATUS_HANDLE hServiceStatus,
+        [in] LPSERVICE_STATUS lpServiceStatus);
 
     /* Function 8 */
-    DWORD RUnlockServiceDatabase(
+    DWORD
+    __stdcall
+    RUnlockServiceDatabase(
         [in, out] LPSC_RPC_LOCK Lock);
 
     /* Function 9 */
-    DWORD RNotifyBootConfigStatus(
+    DWORD
+    __stdcall
+    RNotifyBootConfigStatus(
         [in, string, unique] SVCCTL_HANDLEW lpMachineName,
         [in] DWORD BootAcceptable);
 
     /* Function 10 */
-    DWORD RI_ScSetServiceBitsW(
+    DWORD
+    __stdcall
+    RI_ScSetServiceBitsW(
         [in] RPC_SERVICE_STATUS_HANDLE hServiceStatus,
         [in] DWORD dwServiceBits,
         [in] BOOL bSetBitsOn,
@@ -366,7 +388,9 @@ interface svcctl
         [in, string, unique] LPWSTR lpString);
 
     /* Function 11 */
-    DWORD RChangeServiceConfigW(
+    DWORD
+    __stdcall
+    RChangeServiceConfigW(
         [in] SC_RPC_HANDLE hService,
         [in] DWORD dwServiceType,
         [in] DWORD dwStartType,
@@ -382,7 +406,9 @@ interface svcctl
         [in, string, unique] LPWSTR lpDisplayName);
 
     /* Function 12 */
-    DWORD RCreateServiceW(
+    DWORD
+    __stdcall
+    RCreateServiceW(
         [in] SC_RPC_HANDLE hSCManager,
         [in, string] LPCWSTR lpServiceName,
         [in, string, unique] LPCWSTR lpDisplayName,
@@ -401,7 +427,9 @@ interface svcctl
         [out] LPSC_RPC_HANDLE lpServiceHandle);
 
     /* Function 13 */
-    DWORD REnumDependentServicesW(
+    DWORD
+    __stdcall
+    REnumDependentServicesW(
         [in] SC_RPC_HANDLE hService,
         [in] DWORD dwServiceState,
         [out, size_is(cbBufSize)] LPBYTE lpServices,
@@ -410,7 +438,9 @@ interface svcctl
         [out] LPBOUNDED_DWORD_256K lpServicesReturned);
 
     /* Function 14 */
-    DWORD REnumServicesStatusW(
+    DWORD
+    __stdcall
+    REnumServicesStatusW(
         [in] SC_RPC_HANDLE hSCManager,
         [in] DWORD dwServiceType,
         [in] DWORD dwServiceState,
@@ -421,21 +451,27 @@ interface svcctl
         [in, out, unique] LPBOUNDED_DWORD_256K lpResumeHandle);
 
     /* Function 15 */
-    DWORD ROpenSCManagerW(
+    DWORD
+    __stdcall
+    ROpenSCManagerW(
         [in, string, unique] SVCCTL_HANDLEW lpMachineName,
         [in, string, unique] LPWSTR lpDatabaseName,
         [in] DWORD dwDesiredAccess,
         [out] LPSC_RPC_HANDLE lpScHandle);
 
     /* Function 16 */
-    DWORD ROpenServiceW(
+    DWORD
+    __stdcall
+    ROpenServiceW(
         [in] SC_RPC_HANDLE hSCManager,
         [in, string] LPWSTR lpServiceName,
         [in] DWORD dwDesiredAccess,
         [out] LPSC_RPC_HANDLE lpServiceHandle);
 
     /* Function 17 */
-    DWORD RQueryServiceConfigW(
+    DWORD
+    __stdcall
+    RQueryServiceConfigW(
         [in] SC_RPC_HANDLE hService,
         [out, size_is(cbBufSize)] LPBYTE lpServiceConfig,
         /* FIXME: should be [out] LPQUERY_SERVICE_CONFIGW lpServiceConfig, */
@@ -443,7 +479,9 @@ interface svcctl
         [out] LPBOUNDED_DWORD_8K pcbBytesNeeded);
 
     /* Function 18 */
-    DWORD RQueryServiceLockStatusW(
+    DWORD
+    __stdcall
+    RQueryServiceLockStatusW(
         [in] SC_RPC_HANDLE hSCManager,
         [out, size_is(cbBufSize)] LPBYTE lpLockStatus,
         /* FIXME: should be [out] LPQUERY_SERVICE_LOCK_STATUSW lpLockStatus, */
@@ -451,27 +489,35 @@ interface svcctl
         [out] LPBOUNDED_DWORD_4K pcbBytesNeeded);
 
     /* Function 19 */
-    DWORD RStartServiceW(
+    DWORD
+    __stdcall
+    RStartServiceW(
         [in] SC_RPC_HANDLE hService,
         [in, range(0, SC_MAX_ARGUMENTS)] DWORD argc,
         [in, unique, size_is(argc)] LPSTRING_PTRSW argv);
 
     /* Function 20 */
-    DWORD RGetServiceDisplayNameW(
+    DWORD
+    __stdcall
+    RGetServiceDisplayNameW(
         [in] SC_RPC_HANDLE hSCManager,
         [in, string] LPCWSTR lpServiceName,
         [out, string, size_is(*lpcchBuffer + 1)] LPWSTR lpDisplayName,
         [in, out] DWORD* lpcchBuffer);
 
     /* Function 21 */
-    DWORD RGetServiceKeyNameW(
+    DWORD
+    __stdcall
+    RGetServiceKeyNameW(
         [in] SC_RPC_HANDLE hSCManager,
         [in, string] LPCWSTR lpDisplayName,
         [out, string, size_is(*lpcchBuffer + 1)] LPWSTR lpServiceName,
         [in, out] DWORD* lpcchBuffer);
 
     /* Function 22 */
-    DWORD RI_ScSetServiceBitsA(
+    DWORD
+    __stdcall
+    RI_ScSetServiceBitsA(
         [in] RPC_SERVICE_STATUS_HANDLE hServiceStatus,
         [in] DWORD dwServiceBits,
         [in] BOOL bSetBitsOn,
@@ -479,7 +525,9 @@ interface svcctl
         [in, string, unique] LPSTR lpString);
 
     /* Function 23 */
-    DWORD RChangeServiceConfigA(
+    DWORD
+    __stdcall
+    RChangeServiceConfigA(
         [in] SC_RPC_HANDLE hService,
         [in] DWORD dwServiceType,
         [in] DWORD dwStartType,
@@ -495,7 +543,9 @@ interface svcctl
         [in, string, unique] LPSTR lpDisplayName);
 
     /* Function 24 */
-    DWORD RCreateServiceA(
+    DWORD
+    __stdcall
+    RCreateServiceA(
         [in] SC_RPC_HANDLE hSCManager,
         [in, string] LPSTR lpServiceName,
         [in, string, unique] LPSTR lpDisplayName,
@@ -514,7 +564,9 @@ interface svcctl
         [out] LPSC_RPC_HANDLE lpServiceHandle);
 
     /* Function 25 */
-    DWORD REnumDependentServicesA(
+    DWORD
+    __stdcall
+    REnumDependentServicesA(
         [in] SC_RPC_HANDLE hService,
         [in] DWORD dwServiceState,
         [out, size_is(cbBufSize)] LPBYTE lpServices,
@@ -523,7 +575,9 @@ interface svcctl
         [out] LPBOUNDED_DWORD_256K lpServicesReturned);
 
     /* Function 26 */
-    DWORD REnumServicesStatusA(
+    DWORD
+    __stdcall
+    REnumServicesStatusA(
         [in] SC_RPC_HANDLE hSCManager,
         [in] DWORD dwServiceType,
         [in] DWORD dwServiceState,
@@ -534,21 +588,27 @@ interface svcctl
         [in, out, unique] LPBOUNDED_DWORD_256K lpResumeHandle);
 
     /* Function 27 */
-    DWORD ROpenSCManagerA(
+    DWORD
+    __stdcall
+    ROpenSCManagerA(
         [in, string, unique] SVCCTL_HANDLEA lpMachineName,
         [in, string, unique] LPSTR lpDatabaseName,
         [in] DWORD dwDesiredAccess,
         [out] LPSC_RPC_HANDLE lpScHandle);
 
     /* Function 28 */
-    DWORD ROpenServiceA(
+    DWORD
+    __stdcall
+    ROpenServiceA(
         [in] SC_RPC_HANDLE hSCManager,
         [in, string] LPSTR lpServiceName,
         [in] DWORD dwDesiredAccess,
         [out] LPSC_RPC_HANDLE lpServiceHandle);
 
     /* Function 29 */
-    DWORD RQueryServiceConfigA(
+    DWORD
+    __stdcall
+    RQueryServiceConfigA(
         [in] SC_RPC_HANDLE hService,
         [out, size_is(cbBufSize)] LPBYTE lpServiceConfig,
         /* FIXME: should be [out] LPQUERY_SERVICE_CONFIGA lpServiceConfig, */
@@ -556,7 +616,9 @@ interface svcctl
         [out] LPBOUNDED_DWORD_8K pcbBytesNeeded);
 
     /* Function 30 */
-    DWORD RQueryServiceLockStatusA(
+    DWORD
+    __stdcall
+    RQueryServiceLockStatusA(
         [in] SC_RPC_HANDLE hSCManager,
         [out, size_is(cbBufSize)] LPBYTE lpLockStatus,
         /* FIXME: should be [out] LPQUERY_SERVICE_LOCK_STATUSA lpLockStatus, */
@@ -564,33 +626,43 @@ interface svcctl
         [out] LPBOUNDED_DWORD_4K pcbBytesNeeded);
 
     /* Function 31 */
-    DWORD RStartServiceA(
+    DWORD
+    __stdcall
+    RStartServiceA(
         [in] SC_RPC_HANDLE hService,
         [in, range(0, SC_MAX_ARGUMENTS)] DWORD argc,
         [in, unique, size_is(argc)] LPSTRING_PTRSA argv);
 
     /* Function 32 */
-    DWORD RGetServiceDisplayNameA(
+    DWORD
+    __stdcall
+    RGetServiceDisplayNameA(
         [in] SC_RPC_HANDLE hSCManager,
         [in, string] LPCSTR lpServiceName,
         [out, string, size_is(*lpcchBuffer)] LPSTR lpDisplayName,
         [in, out] LPBOUNDED_DWORD_4K lpcchBuffer);
 
     /* Function 33 */
-    DWORD RGetServiceKeyNameA(
+    DWORD
+    __stdcall
+    RGetServiceKeyNameA(
         [in] SC_RPC_HANDLE hSCManager,
         [in, string] LPCSTR lpDisplayName,
         [out, string, size_is(*lpcchBuffer)] LPSTR lpKeyName,
         [in, out] LPBOUNDED_DWORD_4K lpcchBuffer);
 
     /* Function 34 */
-    DWORD RI_ScGetCurrentGroupStateW(
+    DWORD
+    __stdcall
+    RI_ScGetCurrentGroupStateW(
         [in] SC_RPC_HANDLE hSCManager,
         [in, string, unique] LPWSTR lpLoadOrderGroup,
         [out] LPDWORD lpState);
 
     /* Function 35 */
-    DWORD REnumServiceGroupW(
+    DWORD
+    __stdcall
+    REnumServiceGroupW(
         [in] SC_RPC_HANDLE hSCManager,
         [in] DWORD dwServiceType,
         [in] DWORD dwServiceState,
@@ -602,17 +674,23 @@ interface svcctl
         [in, string, unique] LPCWSTR pszGroupName);
 
     /* Function 36 */
-    DWORD RChangeServiceConfig2A(
+    DWORD
+    __stdcall
+    RChangeServiceConfig2A(
         [in] SC_RPC_HANDLE hService,
         [in] SC_RPC_CONFIG_INFOA Info);
 
     /* Function 37 */
-    DWORD RChangeServiceConfig2W(
+    DWORD
+    __stdcall
+    RChangeServiceConfig2W(
         [in] SC_RPC_HANDLE hService,
         [in] SC_RPC_CONFIG_INFOW Info);
 
     /* Function 38 */
-    DWORD RQueryServiceConfig2A(
+    DWORD
+    __stdcall
+    RQueryServiceConfig2A(
         [in] SC_RPC_HANDLE hService,
         [in] DWORD dwInfoLevel,
         [out, size_is(cbBufSize)] LPBYTE lpBuffer,
@@ -620,7 +698,9 @@ interface svcctl
         [out] LPBOUNDED_DWORD_8K pcbBytesNeeded);
 
     /* Function 39 */
-    DWORD RQueryServiceConfig2W(
+    DWORD
+    __stdcall
+    RQueryServiceConfig2W(
         [in] SC_RPC_HANDLE hService,
         [in] DWORD dwInfoLevel,
         [out, size_is(cbBufSize)] LPBYTE lpBuffer,
@@ -628,7 +708,9 @@ interface svcctl
         [out] LPBOUNDED_DWORD_8K pcbBytesNeeded);
 
     /* Function 40 */
-    DWORD RQueryServiceStatusEx(
+    DWORD
+    __stdcall
+    RQueryServiceStatusEx(
         [in] SC_RPC_HANDLE hService,
         [in] SC_STATUS_TYPE InfoLevel,
         [out, size_is(cbBufSize)] LPBYTE lpBuffer,
@@ -636,7 +718,9 @@ interface svcctl
         [out] LPBOUNDED_DWORD_8K pcbBytesNeeded);
 
     /* Function 41 */
-    DWORD REnumServicesStatusExA(
+    DWORD
+    __stdcall
+    REnumServicesStatusExA(
         [in] SC_RPC_HANDLE hSCManager,
         [in] SC_ENUM_TYPE InfoLevel,
         [in] DWORD dwServiceType,
@@ -649,7 +733,9 @@ interface svcctl
         [in, string, unique] LPCSTR pszGroupName);
 
     /* Function 42 */
-    DWORD REnumServicesStatusExW(
+    DWORD
+    __stdcall
+    REnumServicesStatusExW(
         [in] SC_RPC_HANDLE hSCManager,
         [in] SC_ENUM_TYPE InfoLevel,
         [in] DWORD dwServiceType,
@@ -662,11 +748,15 @@ interface svcctl
         [in, string, unique] LPCWSTR pszGroupName);
 
     /* Function 43 */
-    DWORD RSendTSMessage(
+    DWORD
+    __stdcall
+    RSendTSMessage(
         [in] handle_t BindingHandle); /* FIXME */
 
     /* Function 44 */
-    DWORD RCreateServiceWOW64A(
+    DWORD
+    __stdcall
+    RCreateServiceWOW64A(
         [in] handle_t BindingHandle,
         [in, string] LPSTR lpServiceName,
         [in, string, unique] LPSTR lpDisplayName,
@@ -685,7 +775,9 @@ interface svcctl
         [out] LPSC_RPC_HANDLE lpServiceHandle);
 
     /* Function 45 */
-    DWORD RCreateServiceWOW64W(
+    DWORD
+    __stdcall
+    RCreateServiceWOW64W(
         [in] handle_t BindingHandle,
         [in, string] LPWSTR lpServiceName,
         [in, string, unique] LPWSTR lpDisplayName,
@@ -704,11 +796,15 @@ interface svcctl
         [out] LPSC_RPC_HANDLE lpServiceHandle);
 
     /* Function 46 */
-    DWORD RQueryServiceTagInfo(
+    DWORD
+    __stdcall
+    RQueryServiceTagInfo(
         [in] handle_t BindingHandle); /* FIXME */
 
     /* Function 47 */
-    DWORD RNotifyServiceStatusChange(
+    DWORD
+    __stdcall
+    RNotifyServiceStatusChange(
         [in] SC_RPC_HANDLE hService,
         [in] SC_RPC_NOTIFY_PARAMS NotifyParams,
         [in] GUID* pClientProcessGuid,
@@ -717,17 +813,23 @@ interface svcctl
         [out] LPSC_NOTIFY_RPC_HANDLE phNotify);
 
     /* Function 48 */
-    DWORD RGetNotifyResults(
+    DWORD
+    __stdcall
+    RGetNotifyResults(
         [in] SC_NOTIFY_RPC_HANDLE hNotify,
         [out] PSC_RPC_NOTIFY_PARAMS_LIST *ppNotifyParams);
 
     /* Function 49 */
-    DWORD RCloseNotifyHandle(
+    DWORD
+    __stdcall
+    RCloseNotifyHandle(
         [in, out] LPSC_NOTIFY_RPC_HANDLE phNotify,
         [out] PBOOL pfApcFired);
 
     /* Function 50 */
-    DWORD RControlServiceExA(
+    DWORD
+    __stdcall
+    RControlServiceExA(
         [in] SC_RPC_HANDLE hService,
         [in] DWORD dwControl,
         [in] DWORD dwInfoLevel/*,
@@ -735,7 +837,9 @@ interface svcctl
         [out, switch_is(dwInfoLevel)] PSC_RPC_SERVICE_CONTROL_IN_PARAMSA pControlOutParams*/);
 
     /* Function 51 */
-    DWORD RControlServiceExW(
+    DWORD
+    __stdcall
+    RControlServiceExW(
         [in] SC_RPC_HANDLE hService,
         [in] DWORD dwControl,
         [in] DWORD dwInfoLevel/*,
@@ -743,18 +847,26 @@ interface svcctl
         [out, switch_is(dwInfoLevel)] PSC_RPC_SERVICE_CONTROL_IN_PARAMSW pControlOutParams*/);
 
     /* Function 52 */
-    DWORD RSendPnPMessage(
+    DWORD
+    __stdcall
+    RSendPnPMessage(
         [in] handle_t BindingHandle); /* FIXME */
 
     /* Function 53 */
-    DWORD RValidatePnPService(
+    DWORD
+    __stdcall
+    RValidatePnPService(
         [in] handle_t BindingHandle); /* FIXME */
 
     /* Function 54 */
-    DWORD ROpenServiceStatusHandle(
+    DWORD
+    __stdcall
+    ROpenServiceStatusHandle(
         [in] handle_t BindingHandle); /* FIXME */
 
     /* Function 55 */
-    DWORD RFunction55(
+    DWORD
+    __stdcall
+    RFunction55(
         [in] handle_t BindingHandle); /* FIXME */
 }