Release the client security objects when no longer needed (reported by

Mike McCormack).
This commit is contained in:
Robert Shearman 2005-01-28 17:19:51 +00:00 committed by Alexandre Julliard
parent e8e42e4614
commit 9dba3479c8
1 changed files with 9 additions and 0 deletions

View File

@ -2593,10 +2593,13 @@ HRESULT WINAPI CoQueryProxyBlanket(IUnknown *pProxy, DWORD *pAuthnSvc,
hr = IUnknown_QueryInterface(pProxy, &IID_IClientSecurity, (void **)&pCliSec); hr = IUnknown_QueryInterface(pProxy, &IID_IClientSecurity, (void **)&pCliSec);
if (SUCCEEDED(hr)) if (SUCCEEDED(hr))
{
hr = IClientSecurity_QueryBlanket(pCliSec, pProxy, pAuthnSvc, hr = IClientSecurity_QueryBlanket(pCliSec, pProxy, pAuthnSvc,
pAuthzSvc, ppServerPrincName, pAuthzSvc, ppServerPrincName,
pAuthnLevel, pImpLevel, ppAuthInfo, pAuthnLevel, pImpLevel, ppAuthInfo,
pCapabilities); pCapabilities);
IClientSecurity_Release(pCliSec);
}
if (FAILED(hr)) ERR("-- failed with 0x%08lx\n", hr); if (FAILED(hr)) ERR("-- failed with 0x%08lx\n", hr);
return hr; return hr;
@ -2635,10 +2638,13 @@ HRESULT WINAPI CoSetProxyBlanket(IUnknown *pProxy, DWORD AuthnSvc,
hr = IUnknown_QueryInterface(pProxy, &IID_IClientSecurity, (void **)&pCliSec); hr = IUnknown_QueryInterface(pProxy, &IID_IClientSecurity, (void **)&pCliSec);
if (SUCCEEDED(hr)) if (SUCCEEDED(hr))
{
hr = IClientSecurity_SetBlanket(pCliSec, pProxy, AuthnSvc, hr = IClientSecurity_SetBlanket(pCliSec, pProxy, AuthnSvc,
AuthzSvc, pServerPrincName, AuthzSvc, pServerPrincName,
AuthnLevel, ImpLevel, pAuthInfo, AuthnLevel, ImpLevel, pAuthInfo,
Capabilities); Capabilities);
IClientSecurity_Release(pCliSec);
}
if (FAILED(hr)) ERR("-- failed with 0x%08lx\n", hr); if (FAILED(hr)) ERR("-- failed with 0x%08lx\n", hr);
return hr; return hr;
@ -2669,7 +2675,10 @@ HRESULT WINAPI CoCopyProxy(IUnknown *pProxy, IUnknown **ppCopy)
hr = IUnknown_QueryInterface(pProxy, &IID_IClientSecurity, (void **)&pCliSec); hr = IUnknown_QueryInterface(pProxy, &IID_IClientSecurity, (void **)&pCliSec);
if (SUCCEEDED(hr)) if (SUCCEEDED(hr))
{
hr = IClientSecurity_CopyProxy(pCliSec, pProxy, ppCopy); hr = IClientSecurity_CopyProxy(pCliSec, pProxy, ppCopy);
IClientSecurity_Release(pCliSec);
}
if (FAILED(hr)) ERR("-- failed with 0x%08lx\n", hr); if (FAILED(hr)) ERR("-- failed with 0x%08lx\n", hr);
return hr; return hr;