mirror of
https://github.com/reactos/reactos.git
synced 2024-07-03 11:14:33 +00:00
70 lines
1.8 KiB
C
70 lines
1.8 KiB
C
|
/*
|
||
|
* COPYRIGHT: See COPYING in the top level directory
|
||
|
* PROJECT: ReactOS Services
|
||
|
* FILE: base/services/wkssvc/domain.c
|
||
|
* PURPOSE: Workstation service
|
||
|
* PROGRAMMER: Eric Kohl
|
||
|
*/
|
||
|
|
||
|
/* INCLUDES *****************************************************************/
|
||
|
|
||
|
#include "precomp.h"
|
||
|
|
||
|
WINE_DEFAULT_DEBUG_CHANNEL(wkssvc);
|
||
|
|
||
|
/* FUNCTIONS *****************************************************************/
|
||
|
|
||
|
static
|
||
|
NET_API_STATUS
|
||
|
NetpSetPrimaryDomain(
|
||
|
_In_ LPCWSTR lpWorkgroupName)
|
||
|
{
|
||
|
LSA_OBJECT_ATTRIBUTES ObjectAttributes;
|
||
|
POLICY_PRIMARY_DOMAIN_INFO PrimaryDomainInfo;
|
||
|
LSA_HANDLE PolicyHandle = NULL;
|
||
|
NTSTATUS Status;
|
||
|
|
||
|
ZeroMemory(&ObjectAttributes, sizeof(LSA_OBJECT_ATTRIBUTES));
|
||
|
ObjectAttributes.Length = sizeof(LSA_OBJECT_ATTRIBUTES);
|
||
|
|
||
|
Status = LsaOpenPolicy(NULL,
|
||
|
&ObjectAttributes,
|
||
|
POLICY_TRUST_ADMIN,
|
||
|
&PolicyHandle);
|
||
|
if (!LSA_SUCCESS(Status))
|
||
|
return LsaNtStatusToWinError(Status);
|
||
|
|
||
|
RtlInitUnicodeString(&PrimaryDomainInfo.Name,
|
||
|
lpWorkgroupName);
|
||
|
PrimaryDomainInfo.Sid = NULL;
|
||
|
|
||
|
Status = LsaSetInformationPolicy(PolicyHandle,
|
||
|
PolicyPrimaryDomainInformation,
|
||
|
&PrimaryDomainInfo);
|
||
|
|
||
|
LsaClose(PolicyHandle);
|
||
|
|
||
|
return LsaNtStatusToWinError(Status);
|
||
|
}
|
||
|
|
||
|
|
||
|
NET_API_STATUS
|
||
|
NetpJoinWorkgroup(
|
||
|
_In_ LPCWSTR lpWorkgroupName)
|
||
|
{
|
||
|
NET_API_STATUS status;
|
||
|
|
||
|
FIXME("NetpJoinWorkgroup(%S)\n", lpWorkgroupName);
|
||
|
|
||
|
status = NetpSetPrimaryDomain(lpWorkgroupName);
|
||
|
if (status != NERR_Success)
|
||
|
{
|
||
|
ERR("NetpSetPrimaryDomain failed (Status %lu)\n", status);
|
||
|
return status;
|
||
|
}
|
||
|
|
||
|
return NERR_Success;
|
||
|
}
|
||
|
|
||
|
/* EOF */
|