[PATCH 1/4] urlmon: Implement IAuthenticate::Authenticate() in the BSC interface.
Dmitry Timoshkov
dmitry at baikal.ru
Tue Jun 22 09:54:21 CDT 2021
Signed-off-by: Dmitry Timoshkov <dmitry at baikal.ru>
---
dlls/urlmon/bindctx.c | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
diff --git a/dlls/urlmon/bindctx.c b/dlls/urlmon/bindctx.c
index 406232467c3..80ffe339fff 100644
--- a/dlls/urlmon/bindctx.c
+++ b/dlls/urlmon/bindctx.c
@@ -490,8 +490,22 @@ static HRESULT WINAPI BSCAuthenticate_Authenticate(IAuthenticate *iface,
HWND *phwnd, LPWSTR *pszUsername, LPWSTR *pszPassword)
{
BindStatusCallback *This = impl_from_IAuthenticate(iface);
- FIXME("(%p)->(%p %p %p)\n", This, phwnd, pszUsername, pszPassword);
- return E_NOTIMPL;
+ IAuthenticate *auth;
+ HRESULT hres = E_NOTIMPL;
+
+ TRACE("(%p)->(%p %p %p)\n", This, phwnd, pszUsername, pszPassword);
+
+ if(This->callback)
+ hres = IBindStatusCallback_QueryInterface(This->callback, &IID_IAuthenticate, (void**)&auth);
+ if(FAILED(hres) && This->serv_prov)
+ hres = IServiceProvider_QueryService(This->serv_prov, &IID_IAuthenticate, &IID_IAuthenticate,
+ (void**)&auth);
+ if(SUCCEEDED(hres)) {
+ hres = IAuthenticate_Authenticate(auth, phwnd, pszUsername, pszPassword);
+ IAuthenticate_Release(auth);
+ }
+
+ return hres;
}
static const IAuthenticateVtbl BSCAuthenticateVtbl = {
--
2.31.1
More information about the wine-devel
mailing list