[out] SC_LOCK *hLock);\r
\r
/* Function 4 */\r
-// DWORD ScmrQueryServiceObjectSecurity();\r
+ DWORD ScmrQueryServiceObjectSecurity([in] handle_t BindingHandle); /* FIXME */\r
\r
/* Function 5 */\r
-// DWORD ScmrSetServiceObjectSecurity();\r
+ DWORD ScmrSetServiceObjectSecurity([in] handle_t BindingHandle); /* FIXME */\r
\r
/* Function 6 */\r
-// DWORD ScmrQueryServiceStatus();\r
+ DWORD ScmrQueryServiceStatus([in] handle_t BindingHandle,\r
+ [in] SC_HANDLE hSCManager,\r
+ [out] LPSERVICE_STATUS lpServiceStatus);\r
\r
/* Function 7 */\r
-// DWORD ScmrSetServiceStatus();\r
+ DWORD ScmrSetServiceStatus([in] handle_t BindingHandle); /* FIXME */\r
\r
/* Function 8 */\r
DWORD ScmrUnlockServiceDatabase([in] handle_t BindingHandle,\r
DWORD ScmrCreateServiceW([in] handle_t BindingHandle,\r
[in] SC_HANDLE hSCManager,\r
[in, string, ref] LPCWSTR lpServiceName,\r
- [in, string, ref] LPCWSTR lpDisplayName,\r
+ [in, string, unique] LPCWSTR lpDisplayName,\r
[in] DWORD dwDesiredAccess,\r
[in] DWORD dwServiceType,\r
[in] DWORD dwStartType,\r
[in] DWORD dwErrorControl,\r
[in, string, ref] LPCWSTR lpBinaryPathName,\r
[in, string, unique] LPCWSTR lpLoadOrderGroup,\r
- [out] LPDWORD lpdwTagId,\r
- [in, string, unique] LPCWSTR lpDependencies,\r
+ [in, out, unique] LPDWORD lpdwTagId,\r
+ [in, size_is(dwDependenciesLength), unique] LPCWSTR lpDependencies,\r
+ [in] DWORD dwDependenciesLength,\r
[in, string, unique] LPCWSTR lpServiceStartName,\r
- [in, string, unique] LPCWSTR lpPassword);\r
+ [in, size_is(dwPasswordLength), unique] LPCWSTR lpPassword,\r
+ [in] DWORD dwPasswordLength,\r
+ [out] SC_HANDLE *hService);\r
\r
\r
/* Function 15 */\r