[PATCH] netapi32: Add DsEnumerateDomainTrustsA/W stubs

Alistair Leslie-Hughes leslie_alistair at hotmail.com
Sat Apr 28 20:49:57 CDT 2018


Fixes: https://bugs.winehq.org/show_bug.cgi?id=45081

Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
---
 dlls/netapi32/netapi32.c    | 18 ++++++++++++++++++
 dlls/netapi32/netapi32.spec |  3 ++-
 include/dsgetdc.h           | 26 ++++++++++++++++++++++++++
 3 files changed, 46 insertions(+), 1 deletion(-)

diff --git a/dlls/netapi32/netapi32.c b/dlls/netapi32/netapi32.c
index 620df791b6..ff57c223b4 100644
--- a/dlls/netapi32/netapi32.c
+++ b/dlls/netapi32/netapi32.c
@@ -3544,6 +3544,24 @@ DWORD WINAPI DavGetUNCFromHTTPPath(const WCHAR *http_path, WCHAR *buf, DWORD *bu
     return ERROR_SUCCESS;
 }
 
+/************************************************************
+ *  DsEnumerateDomainTrustsA (NETAPI32.@)
+ */
+DWORD WINAPI DsEnumerateDomainTrustsA(LPSTR server, ULONG flags, PDS_DOMAIN_TRUSTSA* domains, PULONG count)
+{
+    FIXME("(%s, 0x%04x, %p, %p): stub\n", debugstr_a(server), flags, domains, count);
+    return ERROR_NO_LOGON_SERVERS;
+}
+
+/************************************************************
+ *  DsEnumerateDomainTrustsW (NETAPI32.@)
+ */
+DWORD WINAPI DsEnumerateDomainTrustsW(LPWSTR server, ULONG flags, PDS_DOMAIN_TRUSTSW* domains, PULONG count)
+{
+    FIXME("(%s, 0x%04x, %p, %p): stub\n", debugstr_w(server), flags, domains, count);
+    return ERROR_NO_LOGON_SERVERS;
+}
+
 DECLSPEC_HIDDEN void __RPC_FAR *__RPC_USER MIDL_user_allocate(SIZE_T n)
 {
     return HeapAlloc(GetProcessHeap(), 0, n);
diff --git a/dlls/netapi32/netapi32.spec b/dlls/netapi32/netapi32.spec
index 7b51939b80..7e83b1afe7 100644
--- a/dlls/netapi32/netapi32.spec
+++ b/dlls/netapi32/netapi32.spec
@@ -3,7 +3,8 @@
 @ stub DsAddressToSiteNames
 @ stub DsAddressToSiteNamesEx
 @ stub DsDeregisterDnsHostRecords
-@ stub DsEnumerateDomainTrusts
+@ stdcall DsEnumerateDomainTrustsA(str long ptr ptr)
+@ stdcall DsEnumerateDomainTrustsW(wstr long ptr ptr)
 @ stub DsGetDcClose
 @ stdcall DsGetDcNameA(str str ptr str long ptr)
 @ stdcall DsGetDcNameW(wstr wstr ptr wstr long ptr)
diff --git a/include/dsgetdc.h b/include/dsgetdc.h
index faae31aa8c..107d5881b5 100644
--- a/include/dsgetdc.h
+++ b/include/dsgetdc.h
@@ -86,6 +86,28 @@ typedef struct _DOMAIN_CONTROLLER_INFOW {
     LPWSTR ClientSiteName;
 } DOMAIN_CONTROLLER_INFOW, *PDOMAIN_CONTROLLER_INFOW;
 
+typedef struct _DS_DOMAIN_TRUSTSA {
+    LPSTR NetbiosDomainName;
+    LPSTR DnsDomainName;
+    ULONG Flags;
+    ULONG ParentIndex;
+    ULONG TrustType;
+    ULONG TrustAttributes;
+    PSID DomainSid;
+    GUID DomainGuid;
+} DS_DOMAIN_TRUSTSA, *PDS_DOMAIN_TRUSTSA;
+
+typedef struct _DS_DOMAIN_TRUSTSW {
+    LPWSTR NetbiosDomainName;
+    LPWSTR DnsDomainName;
+    ULONG Flags;
+    ULONG ParentIndex;
+    ULONG TrustType;
+    ULONG TrustAttributes;
+    PSID DomainSid;
+    GUID DomainGuid;
+} DS_DOMAIN_TRUSTSW, *PDS_DOMAIN_TRUSTSW;
+
 DECL_WINELIB_TYPE_AW(DOMAIN_CONTROLLER_INFO)
 
 DWORD WINAPI DsGetDcNameA(LPCSTR,LPCSTR,GUID*,LPCSTR,ULONG,PDOMAIN_CONTROLLER_INFOA*);
@@ -96,6 +118,10 @@ DWORD WINAPI DsGetSiteNameA(LPCSTR ComputerName, LPSTR *SiteName);
 DWORD WINAPI DsGetSiteNameW(LPCWSTR ComputerName, LPWSTR *SiteName);
 #define     DsGetSiteName WINELIB_NAME_AW(DsGetSiteName)
 
+DWORD WINAPI DsEnumerateDomainTrustsA(LPSTR, ULONG, PDS_DOMAIN_TRUSTSA*, PULONG);
+DWORD WINAPI DsEnumerateDomainTrustsW(LPWSTR, ULONG, PDS_DOMAIN_TRUSTSW*, PULONG);
+#define     DsEnumerateDomainTrusts WINELIB_NAME_AW(DsEnumerateDomainTrusts)
+
 #ifdef __cplusplus
 }
 #endif
-- 
2.17.0




More information about the wine-devel mailing list