mirror of
https://github.com/reactos/reactos.git
synced 2025-07-30 15:22:21 +00:00
[NETAPI32]
- Add DsEnumerateDomainTrustsA, DsEnumerateDomainTrustsW, DsRoleFreeMemory, DsGetDcNameA, DsGetDcNameW, DsGetSiteNameA and DsGetSiteNameW stubs to netlogon.c. - Remove the now obsolete file ds.c. - Implement DsGetSiteNameW and NetEnumerateTrustedDomains. These functions call their counterpart in the netlogon service. svn path=/trunk/; revision=75261
This commit is contained in:
parent
321c2c1f08
commit
35bbb0a567
5 changed files with 141 additions and 92 deletions
|
@ -17,7 +17,6 @@ list(APPEND SOURCE
|
|||
access.c
|
||||
apibuf.c
|
||||
browser.c
|
||||
ds.c
|
||||
dssetup.c
|
||||
group.c
|
||||
local_group.c
|
||||
|
|
|
@ -1,87 +0,0 @@
|
|||
/*
|
||||
* Copyright 2005 Paul Vriens
|
||||
*
|
||||
* netapi32 directory service functions
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "netapi32.h"
|
||||
|
||||
#include <dsrole.h>
|
||||
#include <dsgetdc.h>
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(ds);
|
||||
|
||||
DWORD WINAPI DsGetDcNameW(LPCWSTR ComputerName, LPCWSTR AvoidDCName,
|
||||
GUID* DomainGuid, LPCWSTR SiteName, ULONG Flags,
|
||||
PDOMAIN_CONTROLLER_INFOW *DomainControllerInfo)
|
||||
{
|
||||
FIXME("(%s, %s, %s, %s, %08x, %p): stub\n", debugstr_w(ComputerName),
|
||||
debugstr_w(AvoidDCName), debugstr_guid(DomainGuid),
|
||||
debugstr_w(SiteName), Flags, DomainControllerInfo);
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
DWORD WINAPI DsGetDcNameA(LPCSTR ComputerName, LPCSTR AvoidDCName,
|
||||
GUID* DomainGuid, LPCSTR SiteName, ULONG Flags,
|
||||
PDOMAIN_CONTROLLER_INFOA *DomainControllerInfo)
|
||||
{
|
||||
FIXME("(%s, %s, %s, %s, %08x, %p): stub\n", debugstr_a(ComputerName),
|
||||
debugstr_a(AvoidDCName), debugstr_guid(DomainGuid),
|
||||
debugstr_a(SiteName), Flags, DomainControllerInfo);
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
DWORD WINAPI DsGetSiteNameW(LPCWSTR ComputerName, LPWSTR *SiteName)
|
||||
{
|
||||
FIXME("(%s, %p): stub\n", debugstr_w(ComputerName), SiteName);
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
/************************************************************
|
||||
* DsRoleFreeMemory (NETAPI32.@)
|
||||
*
|
||||
* PARAMS
|
||||
* Buffer [I] Pointer to the to-be-freed buffer.
|
||||
*
|
||||
* RETURNS
|
||||
* Nothing
|
||||
*/
|
||||
VOID WINAPI DsRoleFreeMemory(PVOID Buffer)
|
||||
{
|
||||
TRACE("(%p)\n", Buffer);
|
||||
HeapFree(GetProcessHeap(), 0, Buffer);
|
||||
}
|
||||
|
||||
/************************************************************
|
||||
* DsEnumerateDomainTrustsA (NETAPI32.@)
|
||||
*/
|
||||
|
||||
DWORD WINAPI DsEnumerateDomainTrustsA(LPSTR ServerName, ULONG Flags, PDS_DOMAIN_TRUSTSA* Domains, PULONG DomainCount)
|
||||
{
|
||||
FIXME("(%s, %x, %p, %p): stub\n", ServerName, Flags, Domains, DomainCount);
|
||||
return ERROR_NO_LOGON_SERVERS;
|
||||
}
|
||||
|
||||
/************************************************************
|
||||
* DsEnumerateDomainTrustsW (NETAPI32.@)
|
||||
*/
|
||||
|
||||
DWORD WINAPI DsEnumerateDomainTrustsW(LPWSTR ServerName, ULONG Flags, PDS_DOMAIN_TRUSTSW* Domains, PULONG DomainCount)
|
||||
{
|
||||
FIXME("(%s, %x, %p, %p): stub\n", debugstr_w(ServerName), Flags, Domains, DomainCount);
|
||||
return ERROR_NO_LOGON_SERVERS;
|
||||
}
|
|
@ -19,7 +19,7 @@
|
|||
@ stub DsGetDcSiteCoverageA
|
||||
@ stub DsGetDcSiteCoverageW
|
||||
@ stub DsGetForestTrustInformationW
|
||||
@ stub DsGetSiteNameA
|
||||
@ stdcall DsGetSiteNameA(str str)
|
||||
@ stdcall DsGetSiteNameW(wstr wstr)
|
||||
@ stub DsMergeForestTrustInformationW
|
||||
@ stub DsRoleAbortDownlevelServerUpgrade
|
||||
|
|
|
@ -10,6 +10,8 @@
|
|||
|
||||
#include "netapi32.h"
|
||||
#include <rpc.h>
|
||||
#include <dsrole.h>
|
||||
#include <dsgetdc.h>
|
||||
#include "netlogon_c.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(netapi32);
|
||||
|
@ -71,16 +73,147 @@ LOGONSRV_HANDLE_unbind(LOGONSRV_HANDLE pszSystemName,
|
|||
}
|
||||
|
||||
|
||||
DWORD
|
||||
WINAPI
|
||||
DsEnumerateDomainTrustsA(
|
||||
_In_opt_ LPSTR ServerName,
|
||||
_In_ ULONG Flags,
|
||||
_Out_ PDS_DOMAIN_TRUSTSA *Domains,
|
||||
_Out_ PULONG DomainCount)
|
||||
{
|
||||
FIXME("DsEnumerateDomainTrustsA(%s, %x, %p, %p)\n",
|
||||
debugstr_a(ServerName), Flags, Domains, DomainCount);
|
||||
|
||||
return ERROR_NO_LOGON_SERVERS;
|
||||
}
|
||||
|
||||
|
||||
DWORD
|
||||
WINAPI
|
||||
DsEnumerateDomainTrustsW(
|
||||
_In_opt_ LPWSTR ServerName,
|
||||
_In_ ULONG Flags,
|
||||
_Out_ PDS_DOMAIN_TRUSTSW *Domains,
|
||||
_Out_ PULONG DomainCount)
|
||||
{
|
||||
FIXME("DsEnumerateDomainTrustsW(%s, %x, %p, %p)\n",
|
||||
debugstr_w(ServerName), Flags, Domains, DomainCount);
|
||||
|
||||
return ERROR_NO_LOGON_SERVERS;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
WINAPI
|
||||
DsRoleFreeMemory(
|
||||
_In_ PVOID Buffer)
|
||||
{
|
||||
TRACE("DsRoleFreeMemory(%p)\n", Buffer);
|
||||
HeapFree(GetProcessHeap(), 0, Buffer);
|
||||
}
|
||||
|
||||
|
||||
DWORD
|
||||
WINAPI
|
||||
DsGetDcNameA(
|
||||
_In_ LPCSTR ComputerName,
|
||||
_In_ LPCSTR DomainName,
|
||||
_In_ GUID *DomainGuid,
|
||||
_In_ LPCSTR SiteName,
|
||||
_In_ ULONG Flags,
|
||||
_Out_ PDOMAIN_CONTROLLER_INFOA *DomainControllerInfo)
|
||||
{
|
||||
FIXME("DsGetDcNameA(%s, %s, %s, %s, %08x, %p): stub\n",
|
||||
debugstr_a(ComputerName), debugstr_a(DomainName), debugstr_guid(DomainGuid),
|
||||
debugstr_a(SiteName), Flags, DomainControllerInfo);
|
||||
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
DWORD
|
||||
WINAPI
|
||||
DsGetDcNameW(
|
||||
_In_ LPCWSTR ComputerName,
|
||||
_In_ LPCWSTR DomainName,
|
||||
_In_ GUID *DomainGuid,
|
||||
_In_ LPCWSTR SiteName,
|
||||
_In_ ULONG Flags,
|
||||
_Out_ PDOMAIN_CONTROLLER_INFOW *DomainControllerInfo)
|
||||
{
|
||||
FIXME("DsGetDcNameW(%s, %s, %s, %s, %08x, %p)\n",
|
||||
debugstr_w(ComputerName), debugstr_w(DomainName), debugstr_guid(DomainGuid),
|
||||
debugstr_w(SiteName), Flags, DomainControllerInfo);
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
DWORD
|
||||
WINAPI
|
||||
DsGetSiteNameA(
|
||||
_In_ LPCSTR ComputerName,
|
||||
_Out_ LPSTR *SiteName)
|
||||
{
|
||||
FIXME("DsGetSiteNameA(%s, %p)\n",
|
||||
debugstr_a(ComputerName), SiteName);
|
||||
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
DWORD
|
||||
WINAPI
|
||||
DsGetSiteNameW(
|
||||
_In_ LPCWSTR ComputerName,
|
||||
_Out_ LPWSTR *SiteName)
|
||||
{
|
||||
NET_API_STATUS status;
|
||||
|
||||
TRACE("DsGetSiteNameW(%s, %p)\n",
|
||||
debugstr_w(ComputerName), SiteName);
|
||||
|
||||
RpcTryExcept
|
||||
{
|
||||
status = DsrGetSiteName((PWSTR)ComputerName,
|
||||
SiteName);
|
||||
}
|
||||
RpcExcept(EXCEPTION_EXECUTE_HANDLER)
|
||||
{
|
||||
status = I_RpcMapWin32Status(RpcExceptionCode());
|
||||
}
|
||||
RpcEndExcept;
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
|
||||
NTSTATUS
|
||||
WINAPI
|
||||
NetEnumerateTrustedDomains(
|
||||
_In_ LPWSTR ServerName,
|
||||
_Out_ LPWSTR *DomainNames)
|
||||
{
|
||||
FIXME("NetEnumerateTrustedDomains(%s, %p)\n",
|
||||
DOMAIN_NAME_BUFFER DomainNameBuffer = {0, NULL};
|
||||
NTSTATUS Status = 0;
|
||||
|
||||
TRACE("NetEnumerateTrustedDomains(%s, %p)\n",
|
||||
debugstr_w(ServerName), DomainNames);
|
||||
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
RpcTryExcept
|
||||
{
|
||||
Status = NetrEnumerateTrustedDomains(ServerName,
|
||||
&DomainNameBuffer);
|
||||
if (NT_SUCCESS(Status))
|
||||
{
|
||||
*DomainNames = (LPWSTR)DomainNameBuffer.DomainNames;
|
||||
}
|
||||
}
|
||||
RpcExcept(EXCEPTION_EXECUTE_HANDLER)
|
||||
{
|
||||
Status = I_RpcMapWin32Status(RpcExceptionCode());
|
||||
} RpcEndExcept;
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -811,6 +811,7 @@ typedef struct _NL_SITE_NAME_ARRAY
|
|||
[size_is(EntryCount)] PRPC_UNICODE_STRING SiteNames;
|
||||
} NL_SITE_NAME_ARRAY, *PNL_SITE_NAME_ARRAY;
|
||||
|
||||
cpp_quote("#ifndef _DSGETDC_H")
|
||||
typedef struct _DS_DOMAIN_TRUSTSW
|
||||
{
|
||||
[string] wchar_t *NetbiosDomainName;
|
||||
|
@ -822,6 +823,7 @@ typedef struct _DS_DOMAIN_TRUSTSW
|
|||
PRPC_SID DomainSid;
|
||||
GUID DomainGuid;
|
||||
} DS_DOMAIN_TRUSTSW, *PDS_DOMAIN_TRUSTSW;
|
||||
cpp_quote("#endif")
|
||||
|
||||
typedef struct _NETLOGON_TRUSTED_DOMAIN_ARRAY
|
||||
{
|
||||
|
@ -905,6 +907,7 @@ typedef struct _UAS_INFO_0
|
|||
ULONG SerialNumber;
|
||||
} UAS_INFO_0, *PUAS_INFO_0;
|
||||
|
||||
cpp_quote("#ifndef _DSGETDC_H")
|
||||
typedef struct _DOMAIN_CONTROLLER_INFOW
|
||||
{
|
||||
[string, unique] wchar_t *DomainControllerName;
|
||||
|
@ -917,6 +920,7 @@ typedef struct _DOMAIN_CONTROLLER_INFOW
|
|||
[string, unique] wchar_t *DcSiteName;
|
||||
[string, unique] wchar_t *ClientSiteName;
|
||||
} DOMAIN_CONTROLLER_INFOW, *PDOMAIN_CONTROLLER_INFOW;
|
||||
cpp_quote("#endif")
|
||||
|
||||
typedef struct _NL_TRUST_PASSWORD
|
||||
{
|
||||
|
@ -1430,7 +1434,7 @@ interface logon
|
|||
/* Function 41 */
|
||||
NET_API_STATUS
|
||||
__stdcall
|
||||
DsrDeregisterDnsHostRecords (
|
||||
DsrDeregisterDnsHostRecords(
|
||||
[in, unique, string] LOGONSRV_HANDLE ServerName,
|
||||
[in, unique, string] wchar_t *DnsDomainName,
|
||||
[in, unique] GUID *DomainGuid,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue