diff --git a/dlls/advapi32/advapi32.spec b/dlls/advapi32/advapi32.spec index 1ec5652d136..0d27297e97f 100644 --- a/dlls/advapi32/advapi32.spec +++ b/dlls/advapi32/advapi32.spec @@ -210,8 +210,8 @@ @ stub EnumServiceGroupA @ stub EnumServiceGroupW @ stdcall EnumServicesStatusA (long long long ptr long ptr ptr ptr) -# @ stub EnumServicesStatusExA -# @ stub EnumServicesStatusExW +@ stdcall EnumServicesStatusExA(long long long long ptr long ptr ptr ptr str) +@ stdcall EnumServicesStatusExW(long long long long ptr long ptr ptr ptr wstr) @ stdcall EnumServicesStatusW (long long long ptr long ptr ptr ptr) # @ stub EnumerateTraceGuids # @ stub EqualDomainSid diff --git a/dlls/advapi32/service.c b/dlls/advapi32/service.c index 3be52751baf..66ae8e76790 100644 --- a/dlls/advapi32/service.c +++ b/dlls/advapi32/service.c @@ -1917,6 +1917,36 @@ EnumServicesStatusW( SC_HANDLE hSCManager, DWORD dwServiceType, return FALSE; } +/****************************************************************************** + * EnumServicesStatusExA [ADVAPI32.@] + */ +BOOL WINAPI +EnumServicesStatusExA(SC_HANDLE hSCManager, SC_ENUM_TYPE InfoLevel, DWORD dwServiceType, + DWORD dwServiceState, LPBYTE lpServices, DWORD cbBufSize, LPDWORD pcbBytesNeeded, + LPDWORD lpServicesReturned, LPDWORD lpResumeHandle, LPCSTR pszGroupName) +{ + FIXME("%p level=%d type=%x state=%x %p %x %p %p %p %s\n", hSCManager, InfoLevel, + dwServiceType, dwServiceState, lpServices, cbBufSize, + pcbBytesNeeded, lpServicesReturned, lpResumeHandle, debugstr_a(pszGroupName)); + SetLastError (ERROR_ACCESS_DENIED); + return FALSE; +} + +/****************************************************************************** + * EnumServicesStatusExW [ADVAPI32.@] + */ +BOOL WINAPI +EnumServicesStatusExW(SC_HANDLE hSCManager, SC_ENUM_TYPE InfoLevel, DWORD dwServiceType, + DWORD dwServiceState, LPBYTE lpServices, DWORD cbBufSize, LPDWORD pcbBytesNeeded, + LPDWORD lpServicesReturned, LPDWORD lpResumeHandle, LPCWSTR pszGroupName) +{ + FIXME("%p level=%d type=%x state=%x %p %x %p %p %p %s\n", hSCManager, InfoLevel, + dwServiceType, dwServiceState, lpServices, cbBufSize, + pcbBytesNeeded, lpServicesReturned, lpResumeHandle, debugstr_w(pszGroupName)); + SetLastError (ERROR_ACCESS_DENIED); + return FALSE; +} + /****************************************************************************** * GetServiceKeyNameA [ADVAPI32.@] */