On the server side, the server is to obtain the parameters contained in the client's security blanket for this interface and perform manipulation based on these parameters (such as impersonating the client). The main interface for this purpose is the
. This interface also provides control over the security level while executing on behalf of the client. To obtain this interface, which is actually provided by a call context object inside the stub, the server must make a IServerSecurity
call. CoGetCallContext()
Once the
interface is obtained, the server has the option to:IServerSecurity
IServerSecurity::QueryBlanket()
method callIServerSecurity::ImpersonateClient()
and IServerSecurity::RevertToSelf()
method callsIServerSecurity::IsImpersonating()
method call
As with the
interface, there are wrapper APIs including IClientSecurity
, CoQueryClientBlanket()
and CoImpersonateClient()
making the use of the CoRevertToSelf(),
interface somewhat simpler. IServerSecurity