#define BOOL unsigned long\r
#define SC_HANDLE unsigned int\r
#define SC_LOCK unsigned int\r
+#define SERVICE_STATUS_HANDLE unsigned long\r
#define LPSTR char*\r
#define LPCSTR char*\r
#define LPWSTR wchar_t*\r
[out] SC_LOCK *hLock);\r
\r
/* Function 4 */\r
- DWORD ScmrQueryServiceObjectSecurity([in] handle_t BindingHandle); /* FIXME */\r
+ DWORD ScmrQueryServiceObjectSecurity([in] handle_t BindingHandle,\r
+ [in] SC_HANDLE hService,\r
+ [in] DWORD dwSecurityInformation,\r
+ [out, size_is(dwSecuityDescriptorSize)] unsigned char *lpSecurityDescriptor,\r
+ [in] DWORD dwSecuityDescriptorSize,\r
+ [out] LPDWORD pcbBytesNeeded);\r
\r
/* Function 5 */\r
- DWORD ScmrSetServiceObjectSecurity([in] handle_t BindingHandle); /* FIXME */\r
+ DWORD ScmrSetServiceObjectSecurity([in] handle_t BindingHandle,\r
+ [in] SC_HANDLE hService,\r
+ [in] DWORD dwSecurityInformation,\r
+ [in, size_is(dwSecuityDescriptorSize)] unsigned char *lpSecurityDescriptor,\r
+ [in] DWORD dwSecuityDescriptorSize);\r
\r
/* Function 6 */\r
DWORD ScmrQueryServiceStatus([in] handle_t BindingHandle,\r
[out] LPSERVICE_STATUS lpServiceStatus);\r
\r
/* Function 7 */\r
- DWORD ScmrSetServiceStatus([in] handle_t BindingHandle); /* FIXME */\r
+ DWORD ScmrSetServiceStatus([in] handle_t BindingHandle,\r
+ [in] SERVICE_STATUS_HANDLE hServiceStatus); /* FIXME */\r
\r
/* Function 8 */\r
DWORD ScmrUnlockServiceDatabase([in] handle_t BindingHandle,\r
DWORD ScmrNotifyBootConfigStatus([in] handle_t BindingHandle,\r
[in] BOOL BootAcceptable);\r
\r
+ /* Function 10 */\r
+ DWORD ScmrI_ScSetServiceBitsW([in] handle_t BindingHandle,\r
+ [in] SERVICE_STATUS_HANDLE hServiceStatus,\r
+ [in] DWORD dwServiceBits,\r
+ [in] BOOL bSetBitsOn,\r
+ [in] BOOL bUpdateImmediately,\r
+ [in, string, unique] LPWSTR lpString);\r
\r
/* Function 11 */\r
DWORD ScmrChangeServiceConfigW([in] handle_t BindingHandle,\r
[in] DWORD dwBufSize,\r
[out] LPDWORD pcbBytesNeeded,\r
[out] LPDWORD lpServicesReturned,\r
- [in, out] LPDWORD lpResumeHandle); /* FIXME: unique */\r
+ [in, out, unique] LPDWORD lpResumeHandle);\r
\r
/* Function 15 */\r
DWORD ScmrOpenSCManagerW([in] handle_t BindingHandle,\r