diff --git a/include/winsvc.h b/include/winsvc.h index 617b9f4bac7..8f6184dcad7 100644 --- a/include/winsvc.h +++ b/include/winsvc.h @@ -185,13 +185,28 @@ typedef struct _ENUM_SERVICE_STATUSW { SERVICE_STATUS ServiceStatus; } ENUM_SERVICE_STATUSW, *LPENUM_SERVICE_STATUSW; +DECL_WINELIB_TYPE_AW(ENUM_SERVICE_STATUS) +DECL_WINELIB_TYPE_AW(LPENUM_SERVICE_STATUS) + +typedef struct _ENUM_SERVICE_STATUS_PROCESSA { + LPSTR lpServiceName; + LPSTR lpDisplayName; + SERVICE_STATUS_PROCESS ServiceStatusProcess; +} ENUM_SERVICE_STATUS_PROCESSA, *LPENUM_SERVICE_STATUS_PROCESSA; + +typedef struct _ENUM_SERVICE_STATUS_PROCESSW { + LPWSTR lpServiceName; + LPWSTR lpDisplayName; + SERVICE_STATUS_PROCESS ServiceStatusProcess; +} ENUM_SERVICE_STATUS_PROCESSW, *LPENUM_SERVICE_STATUS_PROCESSW; + +DECL_WINELIB_TYPE_AW(ENUM_SERVICE_STATUS_PROCESS) +DECL_WINELIB_TYPE_AW(LPENUM_SERVICE_STATUS_PROCESS) + typedef enum _SC_ENUM_TYPE { SC_ENUM_PROCESS_INFO = 0 } SC_ENUM_TYPE; -DECL_WINELIB_TYPE_AW(ENUM_SERVICE_STATUS) -DECL_WINELIB_TYPE_AW(LPENUM_SERVICE_STATUS) - typedef struct _QUERY_SERVICE_CONFIGA { DWORD dwServiceType; DWORD dwStartType; @@ -307,6 +322,11 @@ BOOL WINAPI EnumServicesStatusA(SC_HANDLE,DWORD,DWORD,LPENUM_SERVICE_STAT BOOL WINAPI EnumServicesStatusW(SC_HANDLE,DWORD,DWORD,LPENUM_SERVICE_STATUSW, DWORD,LPDWORD,LPDWORD,LPDWORD); #define EnumServicesStatus WINELIB_NAME_AW(EnumServicesStatus) +BOOL WINAPI EnumServicesStatusExA(SC_HANDLE,SC_ENUM_TYPE,DWORD,DWORD,LPBYTE, + DWORD,LPDWORD,LPDWORD,LPDWORD,LPCSTR); +BOOL WINAPI EnumServicesStatusExW(SC_HANDLE,SC_ENUM_TYPE,DWORD,DWORD,LPBYTE, + DWORD,LPDWORD,LPDWORD,LPDWORD,LPCWSTR); +#define EnumServicesStatus WINELIB_NAME_AW(EnumServicesStatus) BOOL WINAPI GetServiceDisplayNameA(SC_HANDLE,LPCSTR,LPSTR,LPDWORD); BOOL WINAPI GetServiceDisplayNameW(SC_HANDLE,LPCWSTR,LPWSTR,LPDWORD); #define GetServiceDisplayName WINELIB_NAME_AW(GetServiceDisplayName)