Paul Gofman : wbemprox: Provide semi-stub implementation for client_security_QueryBlanket().

Alexandre Julliard julliard at winehq.org
Tue Sep 1 15:43:30 CDT 2020


Module: wine
Branch: master
Commit: 9dea12d87d550291afc37fa5bcd1ee56eda2c78e
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=9dea12d87d550291afc37fa5bcd1ee56eda2c78e

Author: Paul Gofman <pgofman at codeweavers.com>
Date:   Mon Aug 31 22:01:25 2020 +0300

wbemprox: Provide semi-stub implementation for client_security_QueryBlanket().

Horizon Zero Dawn fails to query system memory size if CoQueryProxyBlanket()
fails for wbem services.

Signed-off-by: Paul Gofman <pgofman at codeweavers.com>
Signed-off-by: Hans Leidekker <hans at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/wbemprox/services.c    | 20 ++++++++++++++++++--
 dlls/wbemprox/tests/query.c |  7 +++++++
 2 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/dlls/wbemprox/services.c b/dlls/wbemprox/services.c
index 3a0963e1f6..ab7146db2d 100644
--- a/dlls/wbemprox/services.c
+++ b/dlls/wbemprox/services.c
@@ -88,8 +88,24 @@ static HRESULT WINAPI client_security_QueryBlanket(
     void **pAuthInfo,
     DWORD *pCapabilities )
 {
-    FIXME("\n");
-    return WBEM_E_FAILED;
+    FIXME("semi-stub.\n");
+
+    if (pAuthnSvc)
+        *pAuthnSvc = RPC_C_AUTHN_NONE;
+    if (pAuthzSvc)
+        *pAuthzSvc = RPC_C_AUTHZ_NONE;
+    if (pServerPrincName)
+        *pServerPrincName = NULL;
+    if (pAuthnLevel)
+        *pAuthnLevel = RPC_C_AUTHN_LEVEL_NONE;
+    if (pImpLevel)
+        *pImpLevel = RPC_C_IMP_LEVEL_DEFAULT;
+    if (pAuthInfo)
+        *pAuthInfo = NULL;
+    if (pCapabilities)
+        *pCapabilities = 0;
+
+    return WBEM_NO_ERROR;
 }
 
 static HRESULT WINAPI client_security_SetBlanket(
diff --git a/dlls/wbemprox/tests/query.c b/dlls/wbemprox/tests/query.c
index 17942cd89a..74fdfaa9bc 100644
--- a/dlls/wbemprox/tests/query.c
+++ b/dlls/wbemprox/tests/query.c
@@ -1713,6 +1713,7 @@ START_TEST(query)
     BSTR path = SysAllocString( L"ROOT\\CIMV2" );
     IWbemLocator *locator;
     IWbemServices *services;
+    DWORD authn_svc;
     HRESULT hr;
 
     CoInitialize( NULL );
@@ -1728,6 +1729,12 @@ START_TEST(query)
     hr = IWbemLocator_ConnectServer( locator, path, NULL, NULL, NULL, 0, NULL, NULL, &services );
     ok( hr == S_OK, "failed to get IWbemServices interface %08x\n", hr );
 
+    hr = CoQueryProxyBlanket( (IUnknown *)services, NULL, NULL, NULL, NULL, NULL, NULL, NULL );
+    ok( hr == S_OK, "failed to query proxy blanket %08x\n", hr );
+
+    hr = CoQueryProxyBlanket( (IUnknown *)services, &authn_svc, NULL, NULL, NULL, NULL, NULL, NULL );
+    ok( hr == S_OK, "failed to query proxy blanket %08x\n", hr );
+
     hr = CoSetProxyBlanket( (IUnknown *)services, RPC_C_AUTHN_WINNT, RPC_C_AUTHZ_NONE, NULL,
                             RPC_C_AUTHN_LEVEL_CALL, RPC_C_IMP_LEVEL_IMPERSONATE, NULL, EOAC_NONE );
     ok( hr == S_OK, "failed to set proxy blanket %08x\n", hr );




More information about the wine-cvs mailing list