[SRVSVC] Set and retrieve service bits and rename unknown functions

- Service bits are set by NetrServerSetServiceBits and can be retrieved by NetrServerGetInfo.
- The real name of function 42 is NetrServerSetServiceBitsEx and the real name of function 47 is NetrDfsSetServerInfo.
This commit is contained in:
Eric Kohl 2018-08-05 15:04:01 +02:00
parent bfcbda227f
commit 0a5ccac599
4 changed files with 44 additions and 16 deletions

View file

@ -15,6 +15,10 @@
#include <wine/debug.h> #include <wine/debug.h>
extern DWORD dwServiceBits;
DWORD DWORD
WINAPI WINAPI
RpcThreadRoutine( RpcThreadRoutine(

View file

@ -394,7 +394,7 @@ NetrServerGetInfo(
pServerInfo->ServerInfo101.sv101_version_major = VersionInfo.dwMajorVersion; pServerInfo->ServerInfo101.sv101_version_major = VersionInfo.dwMajorVersion;
pServerInfo->ServerInfo101.sv101_version_minor = VersionInfo.dwMinorVersion; pServerInfo->ServerInfo101.sv101_version_minor = VersionInfo.dwMinorVersion;
pServerInfo->ServerInfo101.sv101_type = SV_TYPE_NT; /* FIXME */ pServerInfo->ServerInfo101.sv101_type = dwServiceBits | SV_TYPE_NT;
pServerInfo->ServerInfo101.sv101_comment = NULL; /* FIXME */ pServerInfo->ServerInfo101.sv101_comment = NULL; /* FIXME */
*InfoStruct = pServerInfo; *InfoStruct = pServerInfo;
@ -413,7 +413,7 @@ NetrServerGetInfo(
pServerInfo->ServerInfo102.sv102_version_major = VersionInfo.dwMajorVersion; pServerInfo->ServerInfo102.sv102_version_major = VersionInfo.dwMajorVersion;
pServerInfo->ServerInfo102.sv102_version_minor = VersionInfo.dwMinorVersion; pServerInfo->ServerInfo102.sv102_version_minor = VersionInfo.dwMinorVersion;
pServerInfo->ServerInfo102.sv102_type = SV_TYPE_NT; pServerInfo->ServerInfo102.sv102_type = dwServiceBits | SV_TYPE_NT;
pServerInfo->ServerInfo102.sv102_comment = NULL; /* FIXME */ pServerInfo->ServerInfo102.sv102_comment = NULL; /* FIXME */
pServerInfo->ServerInfo102.sv102_users = 0; /* FIXME */ pServerInfo->ServerInfo102.sv102_users = 0; /* FIXME */
@ -619,8 +619,15 @@ NetrServerSetServiceBits(
DWORD ServiceBits, DWORD ServiceBits,
DWORD UpdateImmediately) DWORD UpdateImmediately)
{ {
UNIMPLEMENTED; FIXME("NetrServerSetServiceBits(%p %s %lx %lu)\n",
return ERROR_CALL_NOT_IMPLEMENTED; ServerName, debugstr_w(Transport), ServiceBits, UpdateImmediately);
/* FIXME: Support Transport */
/* FIXME: Support UpdateImmdiately */
dwServiceBits = ServiceBits;
return NERR_Success;
} }
@ -798,12 +805,19 @@ NetrServerTransportAddEx(
} }
/* Function 42 */ /* Function 42 - Not used on wire */
void NET_API_STATUS
__stdcall __stdcall
Opnum42NotUsedOnWire(void) NetrServerSetServiceBitsEx(
SRVSVC_HANDLE ServerName,
WCHAR *EmulatedServer,
WCHAR *Transport,
DWORD ServiceBitsOfInterest,
DWORD ServiceBits,
DWORD UpdateImmediately)
{ {
UNIMPLEMENTED; UNIMPLEMENTED;
return ERROR_CALL_NOT_IMPLEMENTED;
} }
@ -863,12 +877,13 @@ NetrDfsSetLocalVolumeState(
} }
/* Function 47 */ /* Function 47 - Not used on wire */
void NET_API_STATUS
__stdcall __stdcall
Opnum47NotUsedOnWire(void) NetrDfsSetServerInfo(void)
{ {
UNIMPLEMENTED; UNIMPLEMENTED;
return ERROR_CALL_NOT_IMPLEMENTED;
} }

View file

@ -37,6 +37,9 @@ static WCHAR ServiceName[] = L"Lanmanserver";
static SERVICE_STATUS_HANDLE ServiceStatusHandle; static SERVICE_STATUS_HANDLE ServiceStatusHandle;
static SERVICE_STATUS ServiceStatus; static SERVICE_STATUS ServiceStatus;
DWORD dwServiceBits = 0;
/* FUNCTIONS *****************************************************************/ /* FUNCTIONS *****************************************************************/
static VOID static VOID

View file

@ -1388,10 +1388,16 @@ interface srvsvc
[in] DWORD Level, [in] DWORD Level,
[in, switch_is(Level)] LPTRANSPORT_INFO Buffer); [in, switch_is(Level)] LPTRANSPORT_INFO Buffer);
// This method not used on the wire /* Function 42 - Not used on wire */
void NET_API_STATUS
__stdcall __stdcall
Opnum42NotUsedOnWire(void); NetrServerSetServiceBitsEx(
[in, string, unique] SRVSVC_HANDLE ServerName,
[in, string, unique] WCHAR *EmulatedServer,
[in, string, unique] WCHAR *Transport,
[in] DWORD ServiceBitsOfInterest,
[in] DWORD ServiceBits,
[in] DWORD UpdateImmediately);
NET_API_STATUS NET_API_STATUS
__stdcall __stdcall
@ -1425,10 +1431,10 @@ interface srvsvc
[in, string] WCHAR *Prefix, [in, string] WCHAR *Prefix,
[in] unsigned long State); [in] unsigned long State);
// This method not used on the wire /* Function 47 - Not used on wire */
void NET_API_STATUS
__stdcall __stdcall
Opnum47NotUsedOnWire(void); NetrDfsSetServerInfo(void);
NET_API_STATUS NET_API_STATUS
__stdcall __stdcall