Fixes: https://bugs.winehq.org/show_bug.cgi?id=45081
Signed-off-by: Alistair Leslie-Hughes leslie_alistair@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