Rob Shearman : services: Fill in the functions between implemented functions in svcctl. idl so that it our remoting code is wire-compatible with NT.
Alexandre Julliard
julliard at winehq.org
Sat Mar 29 06:57:06 CDT 2008
Module: wine
Branch: master
Commit: 8529a3c404893ecbc710d4398cf43c6d1e36d650
URL: http://source.winehq.org/git/wine.git/?a=commit;h=8529a3c404893ecbc710d4398cf43c6d1e36d650
Author: Rob Shearman <rob at codeweavers.com>
Date: Fri Mar 28 17:08:27 2008 +0000
services: Fill in the functions between implemented functions in svcctl.idl so that it our remoting code is wire-compatible with NT.
Add the necessary stubs for these in services.exe.
---
include/wine/svcctl.idl | 78 ++++++++++++++++++++
programs/services/rpc.c | 186 +++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 264 insertions(+), 0 deletions(-)
diff --git a/include/wine/svcctl.idl b/include/wine/svcctl.idl
index 4053524..443f6c9 100644
--- a/include/wine/svcctl.idl
+++ b/include/wine/svcctl.idl
@@ -113,6 +113,15 @@ cpp_quote("#endif")
[out] SC_RPC_LOCK *phLock
);
+ /* Not compatible with Windows function 0x04 */
+ DWORD svcctl_QueryServiceObjectSecurity(/* FIXME */);
+
+ /* Not compatible with Windows function 0x05 */
+ DWORD svcctl_SetServiceObjectSecurity(/* FIXME */);
+
+ /* Not compatible with Windows function 0x06 */
+ DWORD svcctl_QueryServiceStatus(/* FIXME */);
+
/* Compatible with Windows function 0x07 */
DWORD svcctl_SetServiceStatus(
[in] SC_RPC_HANDLE hServiceStatus,
@@ -124,6 +133,12 @@ cpp_quote("#endif")
[in,out] SC_RPC_LOCK *phLock
);
+ /* Not compatible with Windows function 0x09 */
+ DWORD svcctl_NotifyBootConfigStatus(/* FIXME */);
+
+ /* Not compatible with Windows function 0x0a */
+ DWORD svcctl_SCSetServiceBitsW(/* FIXME */);
+
/* Compatible with Windows function 0x0b */
DWORD svcctl_ChangeServiceConfigW(
[in] SC_RPC_HANDLE hService,
@@ -161,6 +176,12 @@ cpp_quote("#endif")
[out] SC_RPC_HANDLE *phService
);
+ /* Not compatible with Windows function 0x0d */
+ DWORD svcctl_EnumDependentServicesW(/* FIXME */);
+
+ /* Not compatible with Windows function 0x0e */
+ DWORD svcctl_EnumServicesStatusW(/* FIXME */);
+
/* Compatible with Windows function 0x0f */
DWORD svcctl_OpenSCManagerW(
[in,unique] MACHINE_HANDLEW MachineName,
@@ -182,6 +203,9 @@ cpp_quote("#endif")
[in] SC_RPC_HANDLE hService,
[out] QUERY_SERVICE_CONFIGW *config);
+ /* Not compatible with Windows function 0x12 */
+ DWORD svcctl_QueryServiceLockStatusW(/* FIXME */);
+
/* Untested with Windows function 0x13 */
DWORD svcctl_StartServiceW(
[in] SC_RPC_HANDLE hService,
@@ -205,6 +229,60 @@ cpp_quote("#endif")
[in] DWORD cchBufSize,
[out] DWORD *cchLength);
+ /* Not compatible with Windows function 0x16 */
+ DWORD svcctl_SCSetServiceBitsA(/* FIXME */);
+
+ /* Not compatible with Windows function 0x17 */
+ DWORD svcctl_ChangeServiceConfigA(/* FIXME */);
+
+ /* Not compatible with Windows function 0x18 */
+ DWORD svcctl_CreateServiceA(/* FIXME */);
+
+ /* Not compatible with Windows function 0x19 */
+ DWORD svcctl_EnumDependentServicesA(/* FIXME */);
+
+ /* Not compatible with Windows function 0x1a */
+ DWORD svcctl_EnumServicesStatusA(/* FIXME */);
+
+ /* Not compatible with Windows function 0x1b */
+ DWORD svcctl_OpenSCManagerA(/* FIXME */);
+
+ /* Not compatible with Windows function 0x1c */
+ DWORD svcctl_OpenServiceA(/* FIXME */);
+
+ /* Not compatible with Windows function 0x1d */
+ DWORD svcctl_QueryServiceConfigA(/* FIXME */);
+
+ /* Not compatible with Windows function 0x1e */
+ DWORD svcctl_QueryServiceLockStatusA(/* FIXME */);
+
+ /* Not compatible with Windows function 0x1f */
+ DWORD svcctl_StartServiceA(/* FIXME */);
+
+ /* Not compatible with Windows function 0x20 */
+ DWORD svcctl_GetServiceDisplayNameA(/* FIXME */);
+
+ /* Not compatible with Windows function 0x21 */
+ DWORD svcctl_GetServiceKeyNameA(/* FIXME */);
+
+ /* Not compatible with Windows function 0x22 */
+ DWORD svcctl_GetCurrentGroupStateW(/* FIXME */);
+
+ /* Not compatible with Windows function 0x23 */
+ DWORD svcctl_EnumServiceGroupW(/* FIXME */);
+
+ /* Not compatible with Windows function 0x24 */
+ DWORD svcctl_ChangeServiceConfig2A(/* FIXME */);
+
+ /* Not compatible with Windows function 0x25 */
+ DWORD svcctl_ChangeServiceConfig2W(/* FIXME */);
+
+ /* Not compatible with Windows function 0x26 */
+ DWORD svcctl_QueryServiceConfig2A(/* FIXME */);
+
+ /* Not compatible with Windows function 0x27 */
+ DWORD svcctl_QueryServiceConfig2W(/* FIXME */);
+
/* Untested with Windows function 0x28 */
DWORD svcctl_QueryServiceStatusEx(
[in] SC_RPC_HANDLE hService,
diff --git a/programs/services/rpc.c b/programs/services/rpc.c
index b6f043b..63ce0d7 100644
--- a/programs/services/rpc.c
+++ b/programs/services/rpc.c
@@ -1147,6 +1147,192 @@ DWORD svcctl_UnlockServiceDatabase(
return ERROR_SUCCESS;
}
+DWORD svcctl_QueryServiceObjectSecurity(
+ void)
+{
+ WINE_FIXME("\n");
+ return ERROR_CALL_NOT_IMPLEMENTED;
+}
+
+DWORD svcctl_SetServiceObjectSecurity(
+ void)
+{
+ WINE_FIXME("\n");
+ return ERROR_CALL_NOT_IMPLEMENTED;
+}
+
+DWORD svcctl_QueryServiceStatus(
+ void)
+{
+ WINE_FIXME("\n");
+ return ERROR_CALL_NOT_IMPLEMENTED;
+}
+
+
+DWORD svcctl_NotifyBootConfigStatus(
+ void)
+{
+ WINE_FIXME("\n");
+ return ERROR_CALL_NOT_IMPLEMENTED;
+}
+
+DWORD svcctl_SCSetServiceBitsW(
+ void)
+{
+ WINE_FIXME("\n");
+ return ERROR_CALL_NOT_IMPLEMENTED;
+}
+
+
+DWORD svcctl_EnumDependentServicesW(
+ void)
+{
+ WINE_FIXME("\n");
+ return ERROR_CALL_NOT_IMPLEMENTED;
+}
+
+DWORD svcctl_EnumServicesStatusW(
+ void)
+{
+ WINE_FIXME("\n");
+ return ERROR_CALL_NOT_IMPLEMENTED;
+}
+
+
+DWORD svcctl_QueryServiceLockStatusW(
+ void)
+{
+ WINE_FIXME("\n");
+ return ERROR_CALL_NOT_IMPLEMENTED;
+}
+
+DWORD svcctl_SCSetServiceBitsA(
+ void)
+{
+ WINE_FIXME("\n");
+ return ERROR_CALL_NOT_IMPLEMENTED;
+}
+
+DWORD svcctl_ChangeServiceConfigA(
+ void)
+{
+ WINE_FIXME("\n");
+ return ERROR_CALL_NOT_IMPLEMENTED;
+}
+
+DWORD svcctl_CreateServiceA(
+ void)
+{
+ WINE_FIXME("\n");
+ return ERROR_CALL_NOT_IMPLEMENTED;
+}
+
+DWORD svcctl_EnumDependentServicesA(
+ void)
+{
+ WINE_FIXME("\n");
+ return ERROR_CALL_NOT_IMPLEMENTED;
+}
+
+DWORD svcctl_EnumServicesStatusA(
+ void)
+{
+ WINE_FIXME("\n");
+ return ERROR_CALL_NOT_IMPLEMENTED;
+}
+
+DWORD svcctl_OpenSCManagerA(
+ void)
+{
+ WINE_FIXME("\n");
+ return ERROR_CALL_NOT_IMPLEMENTED;
+}
+
+DWORD svcctl_OpenServiceA(
+ void)
+{
+ WINE_FIXME("\n");
+ return ERROR_CALL_NOT_IMPLEMENTED;
+}
+
+DWORD svcctl_QueryServiceConfigA(
+ void)
+{
+ WINE_FIXME("\n");
+ return ERROR_CALL_NOT_IMPLEMENTED;
+}
+
+DWORD svcctl_QueryServiceLockStatusA(
+ void)
+{
+ WINE_FIXME("\n");
+ return ERROR_CALL_NOT_IMPLEMENTED;
+}
+
+DWORD svcctl_StartServiceA(
+ void)
+{
+ WINE_FIXME("\n");
+ return ERROR_CALL_NOT_IMPLEMENTED;
+}
+
+DWORD svcctl_GetServiceDisplayNameA(
+ void)
+{
+ WINE_FIXME("\n");
+ return ERROR_CALL_NOT_IMPLEMENTED;
+}
+
+DWORD svcctl_GetServiceKeyNameA(
+ void)
+{
+ WINE_FIXME("\n");
+ return ERROR_CALL_NOT_IMPLEMENTED;
+}
+
+DWORD svcctl_GetCurrentGroupStateW(
+ void)
+{
+ WINE_FIXME("\n");
+ return ERROR_CALL_NOT_IMPLEMENTED;
+}
+
+DWORD svcctl_EnumServiceGroupW(
+ void)
+{
+ WINE_FIXME("\n");
+ return ERROR_CALL_NOT_IMPLEMENTED;
+}
+
+DWORD svcctl_ChangeServiceConfig2A(
+ void)
+{
+ WINE_FIXME("\n");
+ return ERROR_CALL_NOT_IMPLEMENTED;
+}
+
+DWORD svcctl_ChangeServiceConfig2W(
+ void)
+{
+ WINE_FIXME("\n");
+ return ERROR_CALL_NOT_IMPLEMENTED;
+}
+
+DWORD svcctl_QueryServiceConfig2A(
+ void)
+{
+ WINE_FIXME("\n");
+ return ERROR_CALL_NOT_IMPLEMENTED;
+}
+
+DWORD svcctl_QueryServiceConfig2W(
+ void)
+{
+ WINE_FIXME("\n");
+ return ERROR_CALL_NOT_IMPLEMENTED;
+}
+
+
DWORD RPC_MainLoop(void)
{
WCHAR transport[] = SVCCTL_TRANSPORT;
More information about the wine-cvs
mailing list