diff --git a/dlls/wldap32/misc.c b/dlls/wldap32/misc.c index 365b742c837..69c764c5109 100644 --- a/dlls/wldap32/misc.c +++ b/dlls/wldap32/misc.c @@ -52,6 +52,21 @@ void ldap_memfreeW( PWCHAR block ) strfreeW( block ); } +ULONG WLDAP32_ldap_result( WLDAP32_LDAP *ld, ULONG msgid, ULONG all, + struct l_timeval *timeout, WLDAP32_LDAPMessage **res ) +{ + ULONG ret = LDAP_NOT_SUPPORTED; +#ifdef HAVE_LDAP + + TRACE( "(%p, 0x%08lx, 0x%08lx, %p, %p)\n", ld, msgid, all, timeout, res ); + + if (!ld || !res) return ~0UL; + ret = ldap_result( ld, msgid, all, (struct timeval *)timeout, res ); + +#endif + return ret; +} + ULONG ldap_value_freeA( PCHAR *vals ) { TRACE( "(%p)\n", vals ); diff --git a/dlls/wldap32/winldap_private.h b/dlls/wldap32/winldap_private.h index 8de81d128c3..d79a0ecc9c0 100644 --- a/dlls/wldap32/winldap_private.h +++ b/dlls/wldap32/winldap_private.h @@ -285,6 +285,7 @@ ULONG ldap_modify_sW(WLDAP32_LDAP*,PWCHAR,LDAPModW*[]); WLDAP32_LDAP *ldap_openA(PCHAR,ULONG); WLDAP32_LDAP *ldap_openW(PWCHAR,ULONG); void WLDAP32_ldap_perror(WLDAP32_LDAP*,const PCHAR); +ULONG WLDAP32_ldap_result(WLDAP32_LDAP*,ULONG,ULONG,struct l_timeval*,WLDAP32_LDAPMessage**); ULONG WLDAP32_ldap_result2error(WLDAP32_LDAP*,WLDAP32_LDAPMessage*,ULONG); ULONG ldap_sasl_bindA(WLDAP32_LDAP*,const PCHAR,const PCHAR,const BERVAL*,PLDAPControlA*,PLDAPControlA*,int*); ULONG ldap_sasl_bindW(WLDAP32_LDAP*,const PWCHAR,const PWCHAR,const BERVAL*,PLDAPControlW*,PLDAPControlW*,int*); diff --git a/dlls/wldap32/wldap32.spec b/dlls/wldap32/wldap32.spec index 0896b2ff959..31c3de3665c 100644 --- a/dlls/wldap32/wldap32.spec +++ b/dlls/wldap32/wldap32.spec @@ -191,7 +191,7 @@ @ stub ldap_rename_ext_s @ stub ldap_rename_ext_sA @ stub ldap_rename_ext_sW -@ stub ldap_result +@ cdecl ldap_result(ptr long long ptr ptr) WLDAP32_ldap_result @ cdecl ldap_result2error(ptr ptr long) WLDAP32_ldap_result2error @ cdecl ldap_sasl_bindA(ptr str str ptr ptr ptr ptr) @ cdecl ldap_sasl_bindW(ptr wstr wstr ptr ptr ptr ptr)