IClientSecurity Interface
IClientSecurity gives the client control over the call-security of individual interfaces on a remote object.
All proxies generated by the COM MIDL compiler support the IClientSecurity interface. If QueryInterface for IClientSecurity fails, either the object is implemented in-process or it is remoted by a custom marshaler which does not support security (a custom marshaler may support security by offering the IClientSecurity interface to the client). The proxies passed as parameters to an IClientSecurity method must be from the same object as the IClientSecurity interface.
interface IClientSecurity : IUnknown {
HRESULT QueryBlanket(void* pProxy, DWORD* pcbAuthnSvc, SOLE_AUTHENTICATION_SERVICE* pasAuthnSvc, RPC_AUTH_IDENTITY_HANDLE** ppAuthInfo, DWORD* AuthnLevel);
HRESULT SetBlanket(void* pProxy, DWORD AuthnSvc, WCHAR* ServerPrincName, RPC_AUTH_IDENTITY_HANDLE* pAuthInfo, DWORD AuthnLevel, DWORD AuthzSvc);
HRESULT CopyProxy(void* pProxy, REFIID riid, void** ppCopy);
};