From: Eric Kohl Date: Sun, 25 Aug 2019 16:23:38 +0000 (+0200) Subject: [NETAPI32] Implement DsEnumerateDomainTrustsW X-Git-Tag: 0.4.14-dev~221 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=324afc252cef7c2b9a316b37dbbf34a01c7d2b46;hp=7eb28dd0a9251f4db040ac81903aad4e45f808eb [NETAPI32] Implement DsEnumerateDomainTrustsW --- diff --git a/dll/win32/netapi32/netlogon.c b/dll/win32/netapi32/netlogon.c index 293b482aee5..8a03e887b19 100644 --- a/dll/win32/netapi32/netlogon.c +++ b/dll/win32/netapi32/netlogon.c @@ -657,9 +657,30 @@ DsEnumerateDomainTrustsW( _Out_ PDS_DOMAIN_TRUSTSW *Domains, _Out_ PULONG DomainCount) { - FIXME("DsEnumerateDomainTrustsW(%s, %x, %p, %p)\n", + NETLOGON_TRUSTED_DOMAIN_ARRAY DomainsArray = {0, NULL}; + NET_API_STATUS status; + + TRACE("DsEnumerateDomainTrustsW(%s, %x, %p, %p)\n", debugstr_w(ServerName), Flags, Domains, DomainCount); - return ERROR_CALL_NOT_IMPLEMENTED; + + RpcTryExcept + { + status = DsrEnumerateDomainTrusts(ServerName, + Flags, + &DomainsArray); + if (status == NERR_Success) + { + *Domains = DomainsArray.Domains; + *DomainCount = DomainsArray.DomainCount; + } + } + RpcExcept(EXCEPTION_EXECUTE_HANDLER) + { + status = I_RpcMapWin32Status(RpcExceptionCode()); + } + RpcEndExcept; + + return status; }