services: Pass resume index to server.
This commit is contained in:
parent
3c186a65d3
commit
c0b0d3b4e2
|
@ -1619,9 +1619,6 @@ EnumServicesStatusW( SC_HANDLE hmngr, DWORD type, DWORD state, LPENUM_SERVICE_ST
|
||||||
TRACE("%p 0x%x 0x%x %p %u %p %p %p\n", hmngr, type, state, services, size, needed,
|
TRACE("%p 0x%x 0x%x %p %u %p %p %p\n", hmngr, type, state, services, size, needed,
|
||||||
returned, resume_handle);
|
returned, resume_handle);
|
||||||
|
|
||||||
if (resume_handle)
|
|
||||||
FIXME("resume handle not supported\n");
|
|
||||||
|
|
||||||
if (!hmngr)
|
if (!hmngr)
|
||||||
{
|
{
|
||||||
SetLastError( ERROR_INVALID_HANDLE );
|
SetLastError( ERROR_INVALID_HANDLE );
|
||||||
|
@ -1637,7 +1634,7 @@ EnumServicesStatusW( SC_HANDLE hmngr, DWORD type, DWORD state, LPENUM_SERVICE_ST
|
||||||
|
|
||||||
__TRY
|
__TRY
|
||||||
{
|
{
|
||||||
err = svcctl_EnumServicesStatusW( hmngr, type, state, (BYTE *)services, size, needed, returned );
|
err = svcctl_EnumServicesStatusW( hmngr, type, state, (BYTE *)services, size, needed, returned, resume_handle );
|
||||||
}
|
}
|
||||||
__EXCEPT(rpc_filter)
|
__EXCEPT(rpc_filter)
|
||||||
{
|
{
|
||||||
|
|
|
@ -253,7 +253,7 @@ typedef struct _SC_RPC_CONFIG_INFOW {
|
||||||
/* Not compatible with Windows function 0x0d */
|
/* Not compatible with Windows function 0x0d */
|
||||||
DWORD svcctl_EnumDependentServicesW(/* FIXME */);
|
DWORD svcctl_EnumDependentServicesW(/* FIXME */);
|
||||||
|
|
||||||
/* Not compatible with Windows function 0x0e */
|
/* Compatible with Windows function 0x0e */
|
||||||
DWORD svcctl_EnumServicesStatusW(
|
DWORD svcctl_EnumServicesStatusW(
|
||||||
[in] SC_RPC_HANDLE hmngr,
|
[in] SC_RPC_HANDLE hmngr,
|
||||||
[in] DWORD type,
|
[in] DWORD type,
|
||||||
|
@ -261,7 +261,8 @@ typedef struct _SC_RPC_CONFIG_INFOW {
|
||||||
[out,size_is(size)] BYTE *buffer,
|
[out,size_is(size)] BYTE *buffer,
|
||||||
[in] DWORD size,
|
[in] DWORD size,
|
||||||
[out] LPDWORD needed,
|
[out] LPDWORD needed,
|
||||||
[out] LPDWORD returned
|
[out] LPDWORD returned,
|
||||||
|
[in,out,unique] LPDWORD resume
|
||||||
);
|
);
|
||||||
|
|
||||||
/* Compatible with Windows function 0x0f */
|
/* Compatible with Windows function 0x0f */
|
||||||
|
|
|
@ -1276,7 +1276,8 @@ DWORD __cdecl svcctl_EnumServicesStatusW(
|
||||||
BYTE *buffer,
|
BYTE *buffer,
|
||||||
DWORD size,
|
DWORD size,
|
||||||
LPDWORD needed,
|
LPDWORD needed,
|
||||||
LPDWORD returned)
|
LPDWORD returned,
|
||||||
|
LPDWORD resume)
|
||||||
{
|
{
|
||||||
DWORD err, sz, total_size, num_services;
|
DWORD err, sz, total_size, num_services;
|
||||||
DWORD_PTR offset;
|
DWORD_PTR offset;
|
||||||
|
@ -1284,7 +1285,7 @@ DWORD __cdecl svcctl_EnumServicesStatusW(
|
||||||
struct service_entry *service;
|
struct service_entry *service;
|
||||||
ENUM_SERVICE_STATUSW *s;
|
ENUM_SERVICE_STATUSW *s;
|
||||||
|
|
||||||
WINE_TRACE("(%p, 0x%x, 0x%x, %p, %u, %p, %p)\n", hmngr, type, state, buffer, size, needed, returned);
|
WINE_TRACE("(%p, 0x%x, 0x%x, %p, %u, %p, %p, %p)\n", hmngr, type, state, buffer, size, needed, returned, resume);
|
||||||
|
|
||||||
if (!type || !state)
|
if (!type || !state)
|
||||||
return ERROR_INVALID_PARAMETER;
|
return ERROR_INVALID_PARAMETER;
|
||||||
|
@ -1292,6 +1293,9 @@ DWORD __cdecl svcctl_EnumServicesStatusW(
|
||||||
if ((err = validate_scm_handle(hmngr, SC_MANAGER_ENUMERATE_SERVICE, &manager)) != ERROR_SUCCESS)
|
if ((err = validate_scm_handle(hmngr, SC_MANAGER_ENUMERATE_SERVICE, &manager)) != ERROR_SUCCESS)
|
||||||
return err;
|
return err;
|
||||||
|
|
||||||
|
if (resume)
|
||||||
|
WINE_FIXME("resume index not supported\n");
|
||||||
|
|
||||||
scmdatabase_lock_exclusive(manager->db);
|
scmdatabase_lock_exclusive(manager->db);
|
||||||
|
|
||||||
total_size = num_services = 0;
|
total_size = num_services = 0;
|
||||||
|
|
Loading…
Reference in New Issue