Author: hpoussin
Date: Tue Dec 4 20:21:46 2007
New Revision: 31003
URL:
http://svn.reactos.org/svn/reactos?rev=31003&view=rev
Log:
Change service interface too
Modified:
trunk/reactos/base/system/services/rpcserver.c
trunk/reactos/dll/win32/advapi32/service/scm.c
trunk/reactos/include/reactos/idl/svcctl.idl
Modified: trunk/reactos/base/system/services/rpcserver.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/system/services/rpcse…
==============================================================================
--- trunk/reactos/base/system/services/rpcserver.c (original)
+++ trunk/reactos/base/system/services/rpcserver.c Tue Dec 4 20:21:46 2007
@@ -17,6 +17,9 @@
#define NDEBUG
#include <debug.h>
+#define SC_LOCK unsigned int
+#define SC_STATUS_TYPE unsigned long
+#define SC_ENUM_TYPE unsigned long
/* GLOBALS *****************************************************************/
@@ -237,9 +240,9 @@
/* Function 0 */
-unsigned long
+DWORD
ScmrCloseServiceHandle(handle_t BindingHandle,
- unsigned int hScObject)
+ unsigned long hScObject)
{
PMANAGER_HANDLE hManager;
@@ -289,10 +292,10 @@
/* Function 1 */
-unsigned long
+DWORD
ScmrControlService(handle_t BindingHandle,
- unsigned int hService,
- unsigned long dwControl,
+ unsigned long hService,
+ DWORD dwControl,
LPSERVICE_STATUS lpServiceStatus)
{
PSERVICE_HANDLE hSvc;
@@ -378,9 +381,9 @@
/* Function 2 */
-unsigned long
+DWORD
ScmrDeleteService(handle_t BindingHandle,
- unsigned int hService)
+ unsigned long hService)
{
PSERVICE_HANDLE hSvc;
PSERVICE lpService;
@@ -428,10 +431,10 @@
/* Function 3 */
-unsigned long
+DWORD
ScmrLockServiceDatabase(handle_t BindingHandle,
- unsigned int hSCManager,
- unsigned int *hLock)
+ unsigned long hSCManager,
+ SC_LOCK *hLock)
{
PMANAGER_HANDLE hMgr;
@@ -457,13 +460,13 @@
/* Function 4 */
-unsigned long
+DWORD
ScmrQueryServiceObjectSecurity(handle_t BindingHandle,
- unsigned int hService,
- unsigned long dwSecurityInformation,
+ unsigned long hService,
+ DWORD dwSecurityInformation,
unsigned char *lpSecurityDescriptor,
- unsigned long dwSecuityDescriptorSize,
- unsigned long *pcbBytesNeeded)
+ DWORD dwSecuityDescriptorSize,
+ DWORD *pcbBytesNeeded)
{
#if 0
PSERVICE_HANDLE hSvc;
@@ -541,12 +544,12 @@
/* Function 5 */
-unsigned long
+DWORD
ScmrSetServiceObjectSecurity(handle_t BindingHandle,
- unsigned int hService,
- unsigned long dwSecurityInformation,
+ unsigned long hService,
+ DWORD dwSecurityInformation,
unsigned char *lpSecurityDescriptor,
- unsigned long dwSecuityDescriptorSize)
+ DWORD dwSecuityDescriptorSize)
{
PSERVICE_HANDLE hSvc;
PSERVICE lpService;
@@ -661,9 +664,9 @@
/* Function 6 */
-unsigned long
+DWORD
ScmrQueryServiceStatus(handle_t BindingHandle,
- unsigned int hService,
+ unsigned long hService,
LPSERVICE_STATUS lpServiceStatus)
{
PSERVICE_HANDLE hSvc;
@@ -705,9 +708,9 @@
/* Function 7 */
-unsigned long
+DWORD
ScmrSetServiceStatus(handle_t BindingHandle,
- unsigned long hServiceStatus,
+ SERVICE_STATUS_HANDLE hServiceStatus,
LPSERVICE_STATUS lpServiceStatus)
{
PSERVICE lpService;
@@ -736,9 +739,9 @@
/* Function 8 */
-unsigned long
+DWORD
ScmrUnlockServiceDatabase(handle_t BindingHandle,
- unsigned int hLock)
+ SC_LOCK hLock)
{
DPRINT1("ScmrUnlockServiceDatabase() called\n");
/* FIXME */
@@ -747,9 +750,9 @@
/* Function 9 */
-unsigned long
+DWORD
ScmrNotifyBootConfigStatus(handle_t BindingHandle,
- unsigned long BootAcceptable)
+ BOOL BootAcceptable)
{
DPRINT1("ScmrNotifyBootConfigStatus() called\n");
/* FIXME */
@@ -758,12 +761,12 @@
/* Function 10 */
-unsigned long
+DWORD
ScmrSetServiceBitsW(handle_t BindingHandle,
- unsigned long hServiceStatus,
- unsigned long dwServiceBits,
- unsigned long bSetBitsOn,
- unsigned long bUpdateImmediately,
+ SERVICE_STATUS_HANDLE hServiceStatus,
+ DWORD dwServiceBits,
+ BOOL bSetBitsOn,
+ BOOL bUpdateImmediately,
wchar_t *lpString)
{
DPRINT1("ScmrSetServiceBitsW() called\n");
@@ -773,20 +776,20 @@
/* Function 11 */
-unsigned long
+DWORD
ScmrChangeServiceConfigW(handle_t BiningHandle,
- unsigned int hService,
- unsigned long dwServiceType,
- unsigned long dwStartType,
- unsigned long dwErrorControl,
+ unsigned long hService,
+ DWORD dwServiceType,
+ DWORD dwStartType,
+ DWORD dwErrorControl,
wchar_t *lpBinaryPathName,
wchar_t *lpLoadOrderGroup,
- unsigned long *lpdwTagId, /* in, out, unique */
+ DWORD *lpdwTagId, /* in, out, unique */
wchar_t *lpDependencies,
- unsigned long dwDependenciesLength,
+ DWORD dwDependenciesLength,
wchar_t *lpServiceStartName,
wchar_t *lpPassword,
- unsigned long dwPasswordLength,
+ DWORD dwPasswordLength,
wchar_t *lpDisplayName)
{
DWORD dwError = ERROR_SUCCESS;
@@ -994,24 +997,24 @@
/* Function 12 */
-unsigned long
+DWORD
ScmrCreateServiceW(handle_t BindingHandle,
- unsigned int hSCManager,
+ unsigned long hSCManager,
wchar_t *lpServiceName,
wchar_t *lpDisplayName,
- unsigned long dwDesiredAccess,
- unsigned long dwServiceType,
- unsigned long dwStartType,
- unsigned long dwErrorControl,
+ DWORD dwDesiredAccess,
+ DWORD dwServiceType,
+ DWORD dwStartType,
+ DWORD dwErrorControl,
wchar_t *lpBinaryPathName,
wchar_t *lpLoadOrderGroup,
- unsigned long *lpdwTagId, /* in, out */
+ DWORD *lpdwTagId, /* in, out */
wchar_t *lpDependencies,
- unsigned long dwDependenciesLength,
+ DWORD dwDependenciesLength,
wchar_t *lpServiceStartName,
wchar_t *lpPassword,
- unsigned long dwPasswordLength,
- unsigned int *hService) /* out */
+ DWORD dwPasswordLength,
+ unsigned long *hService) /* out */
{
PMANAGER_HANDLE hManager;
DWORD dwError = ERROR_SUCCESS;
@@ -1244,7 +1247,7 @@
if (dwError == ERROR_SUCCESS)
{
DPRINT("hService %lx\n", hServiceHandle);
- *hService = (unsigned int)hServiceHandle;
+ *hService = (unsigned long)hServiceHandle;
if (lpdwTagId != NULL)
*lpdwTagId = lpService->dwTag;
@@ -1255,7 +1258,7 @@
if (lpService->lpServiceName != NULL)
HeapFree(GetProcessHeap(), 0, lpService->lpDisplayName);
- if (hServiceHandle != NULL)
+ if (hServiceHandle)
{
/* Remove the service handle */
HeapFree(GetProcessHeap(), 0, hServiceHandle);
@@ -1277,14 +1280,14 @@
/* Function 13 */
-unsigned long
+DWORD
ScmrEnumDependentServicesW(handle_t BindingHandle,
- unsigned int hService,
- unsigned long dwServiceState,
+ unsigned long hService,
+ DWORD dwServiceState,
unsigned char *lpServices,
- unsigned long cbBufSize,
- unsigned long *pcbBytesNeeded,
- unsigned long *lpServicesReturned)
+ DWORD cbBufSize,
+ DWORD *pcbBytesNeeded,
+ DWORD *lpServicesReturned)
{
DWORD dwError = ERROR_SUCCESS;
@@ -1299,16 +1302,16 @@
/* Function 14 */
-unsigned long
+DWORD
ScmrEnumServicesStatusW(handle_t BindingHandle,
- unsigned int hSCManager,
- unsigned long dwServiceType,
- unsigned long dwServiceState,
+ unsigned long hSCManager,
+ DWORD dwServiceType,
+ DWORD dwServiceState,
unsigned char *lpServices,
- unsigned long dwBufSize,
- unsigned long *pcbBytesNeeded,
- unsigned long *lpServicesReturned,
- unsigned long *lpResumeHandle)
+ DWORD dwBufSize,
+ DWORD *pcbBytesNeeded,
+ DWORD *lpServicesReturned,
+ DWORD *lpResumeHandle)
{
PMANAGER_HANDLE hManager;
PSERVICE lpService;
@@ -1498,12 +1501,12 @@
/* Function 15 */
-unsigned long
+DWORD
ScmrOpenSCManagerW(handle_t BindingHandle,
wchar_t *lpMachineName,
wchar_t *lpDatabaseName,
- unsigned long dwDesiredAccess,
- unsigned int *hScm)
+ DWORD dwDesiredAccess,
+ unsigned long *hScm)
{
DWORD dwError;
SC_HANDLE hHandle;
@@ -1536,7 +1539,7 @@
return dwError;
}
- *hScm = (unsigned int)hHandle;
+ *hScm = (unsigned long)hHandle;
DPRINT("*hScm = %x\n", *hScm);
DPRINT("ScmrOpenSCManagerW() done\n");
@@ -1546,12 +1549,12 @@
/* Function 16 */
-unsigned long
+DWORD
ScmrOpenServiceW(handle_t BindingHandle,
- unsigned int hSCManager,
+ unsigned long hSCManager,
wchar_t *lpServiceName,
- unsigned long dwDesiredAccess,
- unsigned int *hService)
+ DWORD dwDesiredAccess,
+ unsigned long *hService)
{
PSERVICE lpService;
PMANAGER_HANDLE hManager;
@@ -1603,7 +1606,7 @@
return dwError;
}
- *hService = (unsigned int)hHandle;
+ *hService = (unsigned long)hHandle;
DPRINT("*hService = %x\n", *hService);
DPRINT("ScmrOpenServiceW() done\n");
@@ -1613,12 +1616,12 @@
/* Function 17 */
-unsigned long
+DWORD
ScmrQueryServiceConfigW(handle_t BindingHandle,
- unsigned int hService,
+ unsigned long hService,
unsigned char *lpServiceConfig,
- unsigned long cbBufSize,
- unsigned long *pcbBytesNeeded)
+ DWORD cbBufSize,
+ DWORD *pcbBytesNeeded)
{
DWORD dwError = ERROR_SUCCESS;
PSERVICE_HANDLE hSvc;
@@ -1773,12 +1776,12 @@
/* Function 18 */
-unsigned long
+DWORD
ScmrQueryServiceLockStatusW(handle_t BindingHandle,
- unsigned int hSCManager,
+ unsigned long hSCManager,
unsigned char *lpLockStatus, /* [out, unique,
size_is(cbBufSize)] */
- unsigned long cbBufSize, /* [in] */
- unsigned long *pcbBytesNeeded) /* [out] */
+ DWORD cbBufSize, /* [in] */
+ DWORD *pcbBytesNeeded) /* [out] */
{
DPRINT1("ScmrQueryServiceLockStatusW() called\n");
return ERROR_CALL_NOT_IMPLEMENTED;
@@ -1786,12 +1789,12 @@
/* Function 19 */
-unsigned long
+DWORD
ScmrStartServiceW(handle_t BindingHandle,
- unsigned int hService,
- unsigned long dwNumServiceArgs,
+ unsigned long hService,
+ DWORD dwNumServiceArgs,
unsigned char *lpServiceArgBuffer,
- unsigned long cbBufSize)
+ DWORD cbBufSize)
{
DWORD dwError = ERROR_SUCCESS;
PSERVICE_HANDLE hSvc;
@@ -1837,12 +1840,12 @@
/* Function 20 */
-unsigned long
+DWORD
ScmrGetServiceDisplayNameW(handle_t BindingHandle,
- unsigned int hSCManager,
+ unsigned long hSCManager,
wchar_t *lpServiceName,
wchar_t *lpDisplayName, /* [out, unique] */
- unsigned long *lpcchBuffer)
+ DWORD *lpcchBuffer)
{
// PMANAGER_HANDLE hManager;
PSERVICE lpService;
@@ -1887,12 +1890,12 @@
/* Function 21 */
-unsigned long
+DWORD
ScmrGetServiceKeyNameW(handle_t BindingHandle,
- unsigned int hSCManager,
+ unsigned long hSCManager,
wchar_t *lpDisplayName,
wchar_t *lpServiceName, /* [out, unique] */
- unsigned long *lpcchBuffer)
+ DWORD *lpcchBuffer)
{
// PMANAGER_HANDLE hManager;
PSERVICE lpService;
@@ -1937,12 +1940,12 @@
/* Function 22 */
-unsigned long
+DWORD
ScmrSetServiceBitsA(handle_t BindingHandle,
- unsigned long hServiceStatus,
- unsigned long dwServiceBits,
- unsigned long bSetBitsOn,
- unsigned long bUpdateImmediately,
+ SERVICE_STATUS_HANDLE hServiceStatus,
+ DWORD dwServiceBits,
+ BOOL bSetBitsOn,
+ BOOL bUpdateImmediately,
char *lpString)
{
DPRINT1("ScmrSetServiceBitsA() is unimplemented\n");
@@ -1951,20 +1954,20 @@
/* Function 23 */
-unsigned long
+DWORD
ScmrChangeServiceConfigA(handle_t BiningHandle,
- unsigned int hService,
- unsigned long dwServiceType,
- unsigned long dwStartType,
- unsigned long dwErrorControl,
+ unsigned long hService,
+ DWORD dwServiceType,
+ DWORD dwStartType,
+ DWORD dwErrorControl,
char *lpBinaryPathName,
char *lpLoadOrderGroup,
- unsigned long *lpdwTagId,
+ DWORD *lpdwTagId,
char *lpDependencies,
- unsigned long dwDependenciesLength,
+ DWORD dwDependenciesLength,
char *lpServiceStartName,
char *lpPassword,
- unsigned long dwPasswordLength,
+ DWORD dwPasswordLength,
char *lpDisplayName)
{
DPRINT1("ScmrChangeServiceConfigA() is unimplemented\n");
@@ -1973,24 +1976,24 @@
/* Function 24 */
-unsigned long
+DWORD
ScmrCreateServiceA(handle_t BindingHandle,
- unsigned int hSCManager,
+ unsigned long hSCManager,
char *lpServiceName,
char *lpDisplayName,
- unsigned long dwDesiredAccess,
- unsigned long dwServiceType,
- unsigned long dwStartType,
- unsigned long dwErrorControl,
+ DWORD dwDesiredAccess,
+ DWORD dwServiceType,
+ DWORD dwStartType,
+ DWORD dwErrorControl,
char *lpBinaryPathName,
char *lpLoadOrderGroup,
- unsigned long *lpdwTagId, /* in, out */
+ DWORD *lpdwTagId, /* in, out */
char *lpDependencies,
- unsigned long dwDependenciesLength,
+ DWORD dwDependenciesLength,
char *lpServiceStartName,
char *lpPassword,
- unsigned long dwPasswordLength,
- unsigned int *hService) /* out */
+ DWORD dwPasswordLength,
+ unsigned long *hService) /* out */
{
DPRINT1("ScmrCreateServiceA() is unimplemented\n");
return ERROR_CALL_NOT_IMPLEMENTED;
@@ -1998,14 +2001,14 @@
/* Function 25 */
-unsigned long
+DWORD
ScmrEnumDependentServicesA(handle_t BindingHandle,
- unsigned int hService,
- unsigned long dwServiceState,
+ unsigned long hService,
+ DWORD dwServiceState,
unsigned char *lpServices,
- unsigned long cbBufSize,
- unsigned long *pcbBytesNeeded,
- unsigned long *lpServicesReturned)
+ DWORD cbBufSize,
+ DWORD *pcbBytesNeeded,
+ DWORD *lpServicesReturned)
{
DPRINT1("ScmrEnumDependentServicesA() is unimplemented\n");
*pcbBytesNeeded = 0;
@@ -2015,15 +2018,15 @@
/* Function 26 */
-unsigned long
+DWORD
ScmrEnumServicesStatusA(handle_t BindingHandle,
- unsigned int hSCManager,
- unsigned long dwServiceType,
- unsigned long dwServiceState,
+ unsigned long hSCManager,
+ DWORD dwServiceType,
+ DWORD dwServiceState,
unsigned char *lpServices,
- unsigned long dwBufSize,
- unsigned long *pcbBytesNeeded,
- unsigned long *lpServicesReturned,
+ DWORD dwBufSize,
+ DWORD *pcbBytesNeeded,
+ DWORD *lpServicesReturned,
unsigned long *lpResumeHandle)
{
DPRINT1("ScmrEnumServicesAtatusA() is unimplemented\n");
@@ -2032,12 +2035,12 @@
/* Function 27 */
-unsigned long
+DWORD
ScmrOpenSCManagerA(handle_t BindingHandle,
char *lpMachineName,
char *lpDatabaseName,
- unsigned long dwDesiredAccess,
- unsigned int *hScm)
+ DWORD dwDesiredAccess,
+ unsigned long *hScm)
{
UNICODE_STRING MachineName;
UNICODE_STRING DatabaseName;
@@ -2070,12 +2073,12 @@
/* Function 28 */
-unsigned int
+DWORD
ScmrOpenServiceA(handle_t BindingHandle,
- unsigned int hSCManager,
+ unsigned long hSCManager,
char *lpServiceName,
- unsigned long dwDesiredAccess,
- unsigned int *hService)
+ DWORD dwDesiredAccess,
+ unsigned long *hService)
{
UNICODE_STRING ServiceName;
DWORD dwError;
@@ -2098,12 +2101,12 @@
/* Function 29 */
-unsigned long
+DWORD
ScmrQueryServiceConfigA(handle_t BindingHandle,
- unsigned int hService,
+ unsigned long hService,
unsigned char *lpServiceConfig,
- unsigned long cbBufSize,
- unsigned long *pcbBytesNeeded)
+ DWORD cbBufSize,
+ DWORD *pcbBytesNeeded)
{
DPRINT1("ScmrQueryServiceConfigA() is unimplemented\n");
return ERROR_CALL_NOT_IMPLEMENTED;
@@ -2111,12 +2114,12 @@
/* Function 30 */
-unsigned long
+DWORD
ScmrQueryServiceLockStatusA(handle_t BindingHandle,
- unsigned int hSCManager,
+ unsigned long hSCManager,
unsigned char *lpLockStatus, /* [out, unique,
size_is(cbBufSize)] */
- unsigned long cbBufSize, /* [in] */
- unsigned long *pcbBytesNeeded) /* [out] */
+ DWORD cbBufSize, /* [in] */
+ DWORD *pcbBytesNeeded) /* [out] */
{
DPRINT1("ScmrQueryServiceLockStatusA() called\n");
return ERROR_CALL_NOT_IMPLEMENTED;
@@ -2124,12 +2127,12 @@
/* Function 31 */
-unsigned long
+DWORD
ScmrStartServiceA(handle_t BindingHandle,
- unsigned int hService,
- unsigned long dwNumServiceArgs,
+ unsigned long hService,
+ DWORD dwNumServiceArgs,
unsigned char *lpServiceArgBuffer,
- unsigned long cbBufSize)
+ DWORD cbBufSize)
{
DWORD dwError = ERROR_SUCCESS;
PSERVICE_HANDLE hSvc;
@@ -2179,12 +2182,12 @@
/* Function 32 */
-unsigned long
+DWORD
ScmrGetServiceDisplayNameA(handle_t BindingHandle,
- unsigned int hSCManager,
+ unsigned long hSCManager,
char *lpServiceName,
char *lpDisplayName, /* [out, unique] */
- unsigned long *lpcchBuffer)
+ DWORD *lpcchBuffer)
{
DPRINT1("ScmrGetServiceDisplayNameA() is unimplemented\n");
return ERROR_CALL_NOT_IMPLEMENTED;
@@ -2192,12 +2195,12 @@
/* Function 33 */
-unsigned long
+DWORD
ScmrGetServiceKeyNameA(handle_t BindingHandle,
- unsigned int hSCManager,
+ unsigned long hSCManager,
char *lpDisplayName,
char *lpServiceName, /* [out, unique] */
- unsigned long *lpcchBuffer)
+ DWORD *lpcchBuffer)
{
DPRINT1("ScmrGetServiceKeyNameA() is unimplemented\n");
return ERROR_CALL_NOT_IMPLEMENTED;
@@ -2205,7 +2208,7 @@
/* Function 34 */
-unsigned long
+DWORD
ScmrGetCurrentGroupStateW(handle_t BindingHandle)
{
DPRINT1("ScmrGetCurrentGroupStateW() is unimplemented\n");
@@ -2214,7 +2217,7 @@
/* Function 35 */
-unsigned long
+DWORD
ScmrEnumServiceGroupW(handle_t BindingHandle)
{
DPRINT1("ScmrEnumServiceGroupW() is unimplemented\n");
@@ -2223,12 +2226,12 @@
/* Function 36 */
-unsigned long
+DWORD
ScmrChangeServiceConfig2A(handle_t BindingHandle,
- unsigned int hService,
- unsigned long dwInfoLevel,
+ unsigned long hService,
+ DWORD dwInfoLevel,
unsigned char *lpInfo,
- unsigned long dwInfoSize)
+ DWORD dwInfoSize)
{
DPRINT1("ScmrChangeServiceConfig2A() is unimplemented\n");
return ERROR_CALL_NOT_IMPLEMENTED;
@@ -2236,12 +2239,12 @@
/* Function 37 */
-unsigned long
+DWORD
ScmrChangeServiceConfig2W(handle_t BindingHandle,
- unsigned int hService,
- unsigned long dwInfoLevel,
+ unsigned long hService,
+ DWORD dwInfoLevel,
unsigned char *lpInfo,
- unsigned long dwInfoSize)
+ DWORD dwInfoSize)
{
DWORD dwError = ERROR_SUCCESS;
PSERVICE_HANDLE hSvc;
@@ -2332,13 +2335,13 @@
/* Function 38 */
-unsigned long
+DWORD
ScmrQueryServiceConfig2A(handle_t BindingHandle,
- unsigned int hService,
- unsigned long dwInfoLevel,
+ unsigned long hService,
+ DWORD dwInfoLevel,
unsigned char *lpBuffer,
- unsigned long cbBufSize,
- unsigned long *pcbBytesNeeded)
+ DWORD cbBufSize,
+ DWORD *pcbBytesNeeded)
{
DPRINT1("ScmrQueryServiceConfig2A() is unimplemented\n");
return ERROR_CALL_NOT_IMPLEMENTED;
@@ -2346,13 +2349,13 @@
/* Function 39 */
-unsigned long
+DWORD
ScmrQueryServiceConfig2W(handle_t BindingHandle,
- unsigned int hService,
- unsigned long dwInfoLevel,
+ unsigned long hService,
+ DWORD dwInfoLevel,
unsigned char *lpBuffer,
- unsigned long cbBufSize,
- unsigned long *pcbBytesNeeded)
+ DWORD cbBufSize,
+ DWORD *pcbBytesNeeded)
{
DWORD dwError = ERROR_SUCCESS;
PSERVICE_HANDLE hSvc;
@@ -2444,13 +2447,13 @@
/* Function 40 */
-unsigned long
+DWORD
ScmrQueryServiceStatusEx(handle_t BindingHandle,
- unsigned int hService,
- unsigned long InfoLevel,
+ unsigned long hService,
+ SC_STATUS_TYPE InfoLevel,
unsigned char *lpBuffer, /* out */
- unsigned long cbBufSize,
- unsigned long *pcbBytesNeeded) /* out */
+ DWORD cbBufSize,
+ DWORD *pcbBytesNeeded) /* out */
{
LPSERVICE_STATUS_PROCESS lpStatus;
PSERVICE_HANDLE hSvc;
@@ -2505,16 +2508,16 @@
/* Function 41 */
-unsigned long
+DWORD
ScmrEnumServicesStatusExA(handle_t BindingHandle,
- unsigned int hSCManager,
- unsigned long InfoLevel,
- unsigned long dwServiceType,
- unsigned long dwServiceState,
+ unsigned long hSCManager,
+ SC_STATUS_TYPE InfoLevel,
+ DWORD dwServiceType,
+ DWORD dwServiceState,
unsigned char *lpServices,
- unsigned long dwBufSize,
- unsigned long *pcbBytesNeeded,
- unsigned long *lpServicesReturned,
+ DWORD dwBufSize,
+ DWORD *pcbBytesNeeded,
+ DWORD *lpServicesReturned,
unsigned long *lpResumeHandle,
char *pszGroupName)
{
@@ -2526,17 +2529,17 @@
/* Function 42 */
-unsigned long
+DWORD
ScmrEnumServicesStatusExW(handle_t BindingHandle,
- unsigned int hSCManager,
- unsigned long InfoLevel,
- unsigned long dwServiceType,
- unsigned long dwServiceState,
+ unsigned long hSCManager,
+ SC_ENUM_TYPE InfoLevel,
+ DWORD dwServiceType,
+ DWORD dwServiceState,
unsigned char *lpServices,
- unsigned long dwBufSize,
- unsigned long *pcbBytesNeeded,
- unsigned long *lpServicesReturned,
- unsigned long *lpResumeHandle,
+ DWORD dwBufSize,
+ DWORD *pcbBytesNeeded,
+ DWORD *lpServicesReturned,
+ DWORD *lpResumeHandle,
wchar_t *pszGroupName)
{
PMANAGER_HANDLE hManager;
Modified: trunk/reactos/dll/win32/advapi32/service/scm.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/advapi32/service…
==============================================================================
--- trunk/reactos/dll/win32/advapi32/service/scm.c (original)
+++ trunk/reactos/dll/win32/advapi32/service/scm.c Tue Dec 4 20:21:46 2007
@@ -657,7 +657,7 @@
(LPWSTR)lpServiceStartName,
NULL, /* FIXME: lpPassword */
0, /* FIXME: dwPasswordLength */
- (unsigned int *)&hService);
+ (unsigned long *)&hService);
if (dwError != ERROR_SUCCESS)
{
DPRINT("ScmrCreateServiceW() failed (Error %lu)\n", dwError);
@@ -1334,7 +1334,7 @@
(LPSTR)lpMachineName,
(LPSTR)lpDatabaseName,
dwDesiredAccess,
- (unsigned int*)&hScm);
+ (unsigned long*)&hScm);
if (dwError != ERROR_SUCCESS)
{
DPRINT1("ScmrOpenSCManagerA() failed (Error %lu)\n", dwError);
@@ -1373,7 +1373,7 @@
(LPWSTR)lpMachineName,
(LPWSTR)lpDatabaseName,
dwDesiredAccess,
- (unsigned int*)&hScm);
+ (unsigned long*)&hScm);
if (dwError != ERROR_SUCCESS)
{
DPRINT1("ScmrOpenSCManagerW() failed (Error %lu)\n", dwError);
@@ -1410,7 +1410,7 @@
(unsigned int)hSCManager,
(LPSTR)lpServiceName,
dwDesiredAccess,
- (unsigned int*)&hService);
+ (unsigned long*)&hService);
if (dwError != ERROR_SUCCESS)
{
DPRINT1("ScmrOpenServiceA() failed (Error %lu)\n", dwError);
@@ -1447,7 +1447,7 @@
(unsigned int)hSCManager,
(LPWSTR)lpServiceName,
dwDesiredAccess,
- (unsigned int*)&hService);
+ (unsigned long*)&hService);
if (dwError != ERROR_SUCCESS)
{
DPRINT("ScmrOpenServiceW() failed (Error %lu)\n", dwError);
Modified: trunk/reactos/include/reactos/idl/svcctl.idl
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/idl/svcctl…
==============================================================================
--- trunk/reactos/include/reactos/idl/svcctl.idl (original)
+++ trunk/reactos/include/reactos/idl/svcctl.idl Tue Dec 4 20:21:46 2007
@@ -6,7 +6,7 @@
//#include <winsvc.h>
#include "include/reactos/idl/wtypes.idl"
-#define SC_HANDLE unsigned int
+#define SC_HANDLE unsigned long
#define SC_LOCK unsigned int
#define SERVICE_STATUS_HANDLE unsigned long
#define SC_STATUS_TYPE unsigned long
@@ -268,7 +268,7 @@
[in] DWORD dwBufSize,
[out] LPDWORD pcbBytesNeeded,
[out] LPDWORD lpServicesReturned,
- [in, out, unique] LPDWORD lpResumeHandle);
+ [in, out, unique] SC_HANDLE *lpResumeHandle);
/* Function 27 */
DWORD R(OpenSCManagerA) ([in] handle_t BindingHandle,
@@ -278,11 +278,11 @@
[out] SC_HANDLE *hScm);
/* Function 28 */
- SC_HANDLE R(OpenServiceA) ([in] handle_t BindingHandle,
- [in] SC_HANDLE hSCManager,
- [in, string] LPCSTR lpServiceName,
- [in] DWORD dwDesiredAccess,
- [out] SC_HANDLE *hScm);
+ DWORD R(OpenServiceA) ([in] handle_t BindingHandle,
+ [in] SC_HANDLE hSCManager,
+ [in, string] LPCSTR lpServiceName,
+ [in] DWORD dwDesiredAccess,
+ [out] SC_HANDLE *hScm);
/* Function 29 */
DWORD R(QueryServiceConfigA) ([in] handle_t BindingHandle,
@@ -379,7 +379,7 @@
[in] DWORD cbBufSize,
[out] LPDWORD pcbBytesNeeded,
[out] LPDWORD lpServicesReturned,
- [in, out, unique] LPDWORD lpResumeHandle,
+ [in, out, unique] SC_HANDLE *lpResumeHandle,
[in, string, unique] LPCSTR pszGroupName);
/* Function 42 */