[PATCH 2/6] combase: Move CoQueryProxyBlanket().

Nikolay Sivov nsivov at codeweavers.com
Thu Aug 6 01:13:05 CDT 2020


Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
 dlls/combase/combase.c    | 25 ++++++++++++++++++++++
 dlls/combase/combase.spec |  2 +-
 dlls/ole32/compobj.c      | 45 ---------------------------------------
 dlls/ole32/ole32.spec     |  2 +-
 4 files changed, 27 insertions(+), 47 deletions(-)

diff --git a/dlls/combase/combase.c b/dlls/combase/combase.c
index 9bf2252fb85..c67cf2fbce7 100644
--- a/dlls/combase/combase.c
+++ b/dlls/combase/combase.c
@@ -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;
+}
diff --git a/dlls/combase/combase.spec b/dlls/combase/combase.spec
index ddfe5c5ca2e..ed6767263d8 100644
--- a/dlls/combase/combase.spec
+++ b/dlls/combase/combase.spec
@@ -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
diff --git a/dlls/ole32/compobj.c b/dlls/ole32/compobj.c
index f96d69c198c..b96edf99bf1 100644
--- a/dlls/ole32/compobj.c
+++ b/dlls/ole32/compobj.c
@@ -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.@]
diff --git a/dlls/ole32/ole32.spec b/dlls/ole32/ole32.spec
index 0713a989eed..c737b2e386e 100644
--- a/dlls/ole32/ole32.spec
+++ b/dlls/ole32/ole32.spec
@@ -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)
-- 
2.27.0




More information about the wine-devel mailing list