diff --git a/reactos/dll/win32/netapi32/netapi32.spec b/reactos/dll/win32/netapi32/netapi32.spec index a07c78e6230..99131f6364a 100644 --- a/reactos/dll/win32/netapi32/netapi32.spec +++ b/reactos/dll/win32/netapi32/netapi32.spec @@ -174,7 +174,7 @@ @ stdcall NetLocalGroupSetInfo(wstr wstr long ptr ptr) @ stdcall NetLocalGroupSetMembers(wstr wstr long ptr long) @ stub NetLogonGetTimeServiceParentDomain -@ stub NetLogonSetServiceBits +@ stdcall NetLogonSetServiceBits(wstr long long) @ stdcall NetMessageBufferSend(wstr wstr wstr ptr long) @ stdcall NetMessageNameAdd(wstr wstr) @ stdcall NetMessageNameDel(wstr wstr) diff --git a/reactos/dll/win32/netapi32/netlogon.c b/reactos/dll/win32/netapi32/netlogon.c index d9469ec874b..1133d5769da 100644 --- a/reactos/dll/win32/netapi32/netlogon.c +++ b/reactos/dll/win32/netapi32/netlogon.c @@ -19,8 +19,10 @@ WINE_DEFAULT_DEBUG_CHANNEL(netapi32); /* FUNCTIONS *****************************************************************/ -handle_t __RPC_USER -LOGONSRV_HANDLE_bind(LOGONSRV_HANDLE pszSystemName) +handle_t +__RPC_USER +LOGONSRV_HANDLE_bind( + LOGONSRV_HANDLE pszSystemName) { handle_t hBinding = NULL; LPWSTR pszStringBinding; @@ -58,9 +60,11 @@ LOGONSRV_HANDLE_bind(LOGONSRV_HANDLE pszSystemName) } -void __RPC_USER -LOGONSRV_HANDLE_unbind(LOGONSRV_HANDLE pszSystemName, - handle_t hBinding) +void +__RPC_USER +LOGONSRV_HANDLE_unbind( + LOGONSRV_HANDLE pszSystemName, + handle_t hBinding) { RPC_STATUS status; @@ -74,6 +78,8 @@ LOGONSRV_HANDLE_unbind(LOGONSRV_HANDLE pszSystemName, } +/* PUBLIC FUNCTIONS **********************************************************/ + DWORD WINAPI DsAddressToSiteNamesA( @@ -645,4 +651,32 @@ NetGetDCName( return NERR_DCNotFound; } + +NTSTATUS +WINAPI +NetLogonSetServiceBits( + _In_ LPWSTR ServerName, + _In_ DWORD ServiceBitsOfInterest, + _In_ DWORD ServiceBits) +{ + NTSTATUS Status; + + TRACE("NetLogonSetServiceBits(%s 0x%lx 0x%lx)\n", + debugstr_w(ServerName), ServiceBitsOfInterest, ServiceBits); + + RpcTryExcept + { + Status = NetrLogonSetServiceBits(ServerName, + ServiceBitsOfInterest, + ServiceBits); + } + RpcExcept(EXCEPTION_EXECUTE_HANDLER) + { + Status = RpcExceptionCode(); + } + RpcEndExcept; + + return Status; +} + /* EOF */