* Service Control Manager (SCM) interface definition
*/
-#include "include/reactos/idl/wtypes.idl"
+#include <ms-dtyp.idl>
const unsigned int MAX_SERVICE_NAME_LENGTH = 255;
const unsigned short SC_MAX_DEPEND_SIZE = 4 * 1024;
const unsigned short SC_MAX_ARGUMENT_LENGTH = 1024;
const unsigned short SC_MAX_ARGUMENTS = 1024;
-typedef unsigned long SECURITY_INFORMATION;
typedef [handle] LPSTR SVCCTL_HANDLEA;
typedef [handle] LPWSTR SVCCTL_HANDLEW;
typedef [context_handle] unsigned long SC_RPC_HANDLE;
[case(4)] LPSERVICE_FAILURE_ACTIONS_FLAG psfaf;
[case(5)] LPSERVICE_SID_INFO pssid;
[case(6)] LPSERVICE_RPC_REQUIRED_PRIVILEGES_INFO psrp;
- [case(7)] LPSERVICE_PRESHUTDOWN_INFO psps;;
+ [case(7)] LPSERVICE_PRESHUTDOWN_INFO psps;
};
} SC_RPC_CONFIG_INFOA, *LPSC_RPC_CONFIG_INFOA;
DWORD RQueryServiceConfigA(
[in] handle_t BindingHandle,
[in] SC_RPC_HANDLE hService,
- [out] LPQUERY_SERVICE_CONFIGA lpServiceConfig,
+ [out, unique, size_is(cbBufSize)] LPBYTE lpServiceConfig,
+ /* FIXME: should be [out] LPQUERY_SERVICE_CONFIGA lpServiceConfig, */
[in, range(0, 1024*8)] DWORD cbBufSize,
[out] LPBOUNDED_DWORD_8K pcbBytesNeeded);
[in, out] LPBOUNDED_DWORD_4K lpcchBuffer);
/* Function 34 */
- DWORD RGetCurrentGroupStateW(
- [in] handle_t BindingHandle); /* FIXME */
+ DWORD RI_ScGetCurrentGroupStateW(
+ [in] handle_t BindingHandle,
+ [in] SC_RPC_HANDLE hSCManager,
+ [in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPWSTR lpLoadOrderGroup,
+ [out] LPDWORD lpState);
/* Function 35 */
DWORD REnumServiceGroupW(