Commit a59a847c authored by Nikolay Sivov's avatar Nikolay Sivov Committed by Alexandre Julliard

combase: Move CoQueryProxyBlanket().

parent 7e39b005
......@@ -454,3 +454,28 @@ HRESULT WINAPI CoCreateGuid(GUID *guid)
if (status == RPC_S_OK || status == RPC_S_UUID_LOCAL_ONLY) return S_OK;
return HRESULT_FROM_WIN32(status);
}
/******************************************************************************
* CoQueryProxyBlanket (combase.@)
*/
HRESULT WINAPI CoQueryProxyBlanket(IUnknown *proxy, DWORD *authn_service,
DWORD *authz_service, OLECHAR **servername, DWORD *authn_level,
DWORD *imp_level, void **auth_info, DWORD *capabilities)
{
IClientSecurity *client_security;
HRESULT hr;
TRACE("%p, %p, %p, %p, %p, %p, %p, %p.\n", proxy, authn_service, authz_service, servername, authn_level, imp_level,
auth_info, capabilities);
hr = IUnknown_QueryInterface(proxy, &IID_IClientSecurity, (void **)&client_security);
if (SUCCEEDED(hr))
{
hr = IClientSecurity_QueryBlanket(client_security, proxy, authn_service, authz_service, servername,
authn_level, imp_level, auth_info, capabilities);
IClientSecurity_Release(client_security);
}
if (FAILED(hr)) ERR("-- failed with %#x.\n", hr);
return hr;
}
......@@ -135,7 +135,7 @@
@ stub CoPushServiceDomain
@ stub CoQueryAuthenticationServices
@ stdcall CoQueryClientBlanket(ptr ptr ptr ptr ptr ptr ptr) ole32.CoQueryClientBlanket
@ stdcall CoQueryProxyBlanket(ptr ptr ptr ptr ptr ptr ptr ptr) ole32.CoQueryProxyBlanket
@ stdcall CoQueryProxyBlanket(ptr ptr ptr ptr ptr ptr ptr ptr)
@ stub CoReactivateObject
@ stub CoRegisterActivationFilter
@ stdcall CoRegisterClassObject(ptr ptr long long ptr) ole32.CoRegisterClassObject
......
......@@ -4191,51 +4191,6 @@ HRESULT WINAPI CoAllowSetForegroundWindow(IUnknown *pUnk, void *pvReserved)
FIXME("(%p, %p): stub\n", pUnk, pvReserved);
return S_OK;
}
/***********************************************************************
* CoQueryProxyBlanket [OLE32.@]
*
* Retrieves the security settings being used by a proxy.
*
* PARAMS
* pProxy [I] Pointer to the proxy object.
* pAuthnSvc [O] The type of authentication service.
* pAuthzSvc [O] The type of authorization service.
* ppServerPrincName [O] Optional. The server prinicple name.
* pAuthnLevel [O] The authentication level.
* pImpLevel [O] The impersonation level.
* ppAuthInfo [O] Information specific to the authorization/authentication service.
* pCapabilities [O] Flags affecting the security behaviour.
*
* RETURNS
* Success: S_OK.
* Failure: HRESULT code.
*
* SEE ALSO
* CoCopyProxy, CoSetProxyBlanket.
*/
HRESULT WINAPI CoQueryProxyBlanket(IUnknown *pProxy, DWORD *pAuthnSvc,
DWORD *pAuthzSvc, OLECHAR **ppServerPrincName, DWORD *pAuthnLevel,
DWORD *pImpLevel, void **ppAuthInfo, DWORD *pCapabilities)
{
IClientSecurity *pCliSec;
HRESULT hr;
TRACE("%p\n", pProxy);
hr = IUnknown_QueryInterface(pProxy, &IID_IClientSecurity, (void **)&pCliSec);
if (SUCCEEDED(hr))
{
hr = IClientSecurity_QueryBlanket(pCliSec, pProxy, pAuthnSvc,
pAuthzSvc, ppServerPrincName,
pAuthnLevel, pImpLevel, ppAuthInfo,
pCapabilities);
IClientSecurity_Release(pCliSec);
}
if (FAILED(hr)) ERR("-- failed with 0x%08x\n", hr);
return hr;
}
/***********************************************************************
* CoSetProxyBlanket [OLE32.@]
......
......@@ -62,7 +62,7 @@
@ stdcall CoMarshalInterface(ptr ptr ptr long ptr long)
@ stub CoQueryAuthenticationServices
@ stdcall CoQueryClientBlanket(ptr ptr ptr ptr ptr ptr ptr)
@ stdcall CoQueryProxyBlanket(ptr ptr ptr ptr ptr ptr ptr ptr)
@ stdcall CoQueryProxyBlanket(ptr ptr ptr ptr ptr ptr ptr ptr) combase.CoQueryProxyBlanket
@ stub CoQueryReleaseObject
@ stdcall CoRegisterChannelHook(ptr ptr)
@ stdcall CoRegisterClassObject(ptr ptr long long ptr)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment