diff --git a/dlls/advapi32/advapi32.spec b/dlls/advapi32/advapi32.spec index 8684ccfc566..1c3123de058 100644 --- a/dlls/advapi32/advapi32.spec +++ b/dlls/advapi32/advapi32.spec @@ -3,7 +3,9 @@ @ stdcall AccessCheck(ptr long long ptr ptr ptr ptr ptr) AccessCheck @ stub AccessCheckAndAuditAlarmA @ stub AccessCheckAndAuditAlarmW +@ stub AccessCheckByType #(ptr ptr long long ptr long ptr ptr ptr ptr ptr) AccessCheckByType @ stdcall AddAccessAllowedAce (ptr long long ptr) AddAccessAllowedAce +@ stub AddAccessAllowedAceEx #(ptr long long long ptr) AddAccessAllowedAceEx @ stub AddAccessDeniedAce @ stub AddAce @ stub AddAuditAccessAce @@ -23,12 +25,17 @@ @ stdcall CloseServiceHandle(long) CloseServiceHandle @ stub CommandLineFromMsiDescriptor @ stdcall ControlService(long long ptr) ControlService +@ stub ConvertSidToStringSidA #(ptr str) ConvertSidToStringSidA +@ stub ConvertSidToStringSidW #(ptr wstr) ConvertSidToStringSidW +@ stub ConvertStringSecurityDescriptorToSecurityDescriptorA #(str long ptr ptr) ConvertStringSecurityDescriptorToSecurityDescriptorA +@ stub ConvertStringSecurityDescriptorToSecurityDescriptorW #(wstr long ptr ptr) ConvertStringSecurityDescriptorToSecurityDescriptorW @ stdcall CopySid(long ptr ptr) CopySid @ stub CreatePrivateObjectSecurity @ stub CreateProcessAsUserA @ stub CreateProcessAsUserW @ stdcall CreateServiceA(long ptr ptr long long long long ptr ptr ptr ptr ptr ptr) CreateServiceA @ stdcall CreateServiceW (long ptr ptr long long long long ptr ptr ptr ptr ptr ptr) CreateServiceW +@ stub CredProfileLoaded @ stdcall CryptAcquireContextA(ptr str str long long) CryptAcquireContextA @ stdcall CryptAcquireContextW(ptr wstr wstr long long) CryptAcquireContextW @ stdcall CryptContextAddRef(long ptr long) CryptContextAddRef @@ -72,7 +79,8 @@ @ stdcall DeleteService(long) DeleteService @ stdcall DeregisterEventSource(long) DeregisterEventSource @ stub DestroyPrivateObjectSecurity -@ stub DuplicateToken +@ stub DuplicateToken #(long long ptr) DuplicateToken +@ stub DuplicateTokenEx #(long long ptr long long ptr) DuplicateTokenEx @ stub EnumDependentServicesA @ stub EnumDependentServicesW @ stdcall EnumServicesStatusA (long long long ptr long ptr ptr ptr) EnumServicesStatusA @@ -90,6 +98,8 @@ @ stub GetKernelObjectSecurity @ stdcall GetLengthSid(ptr) GetLengthSid @ stub GetMangledSiteSid +@ stub GetNamedSecurityInfoA #(str long long ptr ptr ptr ptr ptr) GetNamedSecurityInfoA +@ stub GetNamedSecurityInfoW #(wstr long long ptr ptr ptr ptr ptr) GetNamedSecurityInfoW @ stdcall GetNumberOfEventLogRecords (long ptr) GetNumberOfEventLogRecords @ stdcall GetOldestEventLogRecord (long ptr) GetOldestEventLogRecord @ stub GetPrivateObjectSecurity @@ -99,6 +109,7 @@ @ stdcall GetSecurityDescriptorLength(ptr) GetSecurityDescriptorLength @ stdcall GetSecurityDescriptorOwner(ptr ptr ptr) GetSecurityDescriptorOwner @ stdcall GetSecurityDescriptorSacl (ptr ptr ptr ptr) GetSecurityDescriptorSacl +@ stub GetSecurityInfo #(long long long ptr ptr ptr ptr ptr) GetSecurityInfo @ stub GetServiceDisplayNameA @ stub GetServiceDisplayNameW @ stub GetServiceKeyNameA @@ -169,6 +180,7 @@ @ stub QueryServiceLockStatusW @ stub QueryServiceObjectSecurity @ stdcall QueryServiceStatus(long ptr) QueryServiceStatus +@ stdcall QueryServiceStatusEx (long long ptr long ptr) QueryServiceStatusEx @ stdcall ReadEventLogA (long long long ptr long ptr ptr) ReadEventLogA @ stdcall ReadEventLogW (long long long ptr long ptr ptr) ReadEventLogW @ stdcall RegCloseKey(long) RegCloseKey @@ -233,6 +245,7 @@ @ stdcall SetFileSecurityW(wstr long ptr) SetFileSecurityW @ stdcall SetKernelObjectSecurity(long long ptr) SetKernelObjectSecurity @ stub SetPrivateObjectSecurity +@ stub SetSecurityDescriptorControl #(ptr long long) @ stdcall SetSecurityDescriptorDacl(ptr long ptr long) SetSecurityDescriptorDacl @ stdcall SetSecurityDescriptorGroup (ptr ptr long) SetSecurityDescriptorGroup @ stdcall SetSecurityDescriptorOwner (ptr ptr long) SetSecurityDescriptorOwner diff --git a/dlls/advapi32/service.c b/dlls/advapi32/service.c index 146ac86c007..60d764d360c 100644 --- a/dlls/advapi32/service.c +++ b/dlls/advapi32/service.c @@ -700,3 +700,22 @@ QueryServiceStatus( SC_HANDLE hService, LPSERVICE_STATUS lpservicestatus ) return TRUE; } + +/****************************************************************************** + * QueryServiceStatusEx [ADVAPI32.@] + * + * PARAMS + * hService [handle to service] + * InfoLevel [information level] + * lpBuffer [buffer] + * cbBufSize [size of buffer] + * pcbBytesNeeded [bytes needed] +*/ +BOOL WINAPI QueryServiceStatusEx(SC_HANDLE hService, SC_STATUS_TYPE InfoLevel, + LPBYTE lpBuffer, DWORD cbBufSize, + LPDWORD pcbBytesNeeded) +{ + FIXME("stub\n"); + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return FALSE; +} diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec index 1e2b87e748c..be53d19160b 100644 --- a/dlls/ntdll/ntdll.spec +++ b/dlls/ntdll/ntdll.spec @@ -165,6 +165,7 @@ @ stdcall NtQueryKey (long long ptr long ptr) NtQueryKey @ stub NtQueryMutant @ stdcall NtQueryObject(long long long long long) NtQueryObject +@ stub NtQueryOpenSubKeys @ stdcall NtQueryPerformanceCounter (long long) NtQueryPerformanceCounter @ stdcall NtQuerySection (long long long long long) NtQuerySection @ stdcall NtQuerySecurityObject (long long long long long) NtQuerySecurityObject @@ -240,6 +241,7 @@ @ stub NtTestAlert @ stub NtUnloadDriver @ stdcall NtUnloadKey(long) NtUnloadKey +@ stub NtUnloadKeyEx @ stub NtUnlockFile @ stdcall NtUnlockVirtualMemory(long ptr ptr long) NtUnlockVirtualMemory @ stdcall NtUnmapViewOfSection(long ptr) NtUnmapViewOfSection @@ -682,6 +684,7 @@ @ stdcall ZwQueryKey(long long ptr long ptr) NtQueryKey @ stub ZwQueryMutant @ stdcall ZwQueryObject(long long long long long) NtQueryObject +@ stub ZwQueryOpenSubKeys @ stdcall ZwQueryPerformanceCounter (long long) NtQueryPerformanceCounter @ stdcall ZwQuerySection (long long long long long) NtQuerySection @ stdcall ZwQuerySecurityObject (long long long long long) NtQuerySecurityObject @@ -755,6 +758,7 @@ @ stub ZwTestAlert @ stub ZwUnloadDriver @ stdcall ZwUnloadKey(long) NtUnloadKey +@ stub ZwUnloadKeyEx @ stub ZwUnlockFile @ stdcall ZwUnlockVirtualMemory(long ptr ptr long) NtUnlockVirtualMemory @ stdcall ZwUnmapViewOfSection(long ptr) NtUnmapViewOfSection diff --git a/include/winsvc.h b/include/winsvc.h index b4375d7c0dd..2cb3060691e 100644 --- a/include/winsvc.h +++ b/include/winsvc.h @@ -114,6 +114,10 @@ typedef struct _SERVICE_STATUS { DWORD dwWaitHint; } SERVICE_STATUS, *LPSERVICE_STATUS; +typedef enum _SC_STATUS_TYPE { + SC_STATUS_PROCESS_INFO = 0 +} SC_STATUS_TYPE; + /* Service main function prototype */ typedef VOID (CALLBACK *LPSERVICE_MAIN_FUNCTIONA)(DWORD,LPSTR*); @@ -188,7 +192,7 @@ BOOL WINAPI StartServiceCtrlDispatcherA(LPSERVICE_TABLE_ENTRYA); BOOL WINAPI StartServiceCtrlDispatcherW(LPSERVICE_TABLE_ENTRYW); #define StartServiceCtrlDispatcher WINELIB_NAME_AW(StartServiceCtrlDispatcher) BOOL WINAPI QueryServiceStatus(SC_HANDLE,LPSERVICE_STATUS); - +BOOL WINAPI QueryServiceStatusEx(SC_HANDLE,SC_STATUS_TYPE,LPBYTE,DWORD,LPDWORD); #ifdef __cplusplus } /* extern "C" */ #endif /* defined(__cplusplus) */