Compartir a través de


Función CoImpersonateClient (combaseapi.h)

Permite al servidor suplantar al cliente de la llamada actual mientras dure la llamada.

Sintaxis

HRESULT CoImpersonateClient();

Valor devuelto

Esta función admite los valores devueltos estándar, incluidos los S_OK.

Comentarios

Este método permite al servidor suplantar al cliente de la llamada actual mientras dure la llamada. Si no llama a CoRevertToSelf, COM se revierte automáticamente. Esta función producirá un error a menos que se llame al objeto con RPC_C_AUTHN_LEVEL_CONNECT o una autenticación superior en vigor (que es cualquier nivel de autenticación excepto RPC_C_AUTHN_LEVEL_NONE). Esta función encapsula la siguiente secuencia de llamadas comunes (se excluye el control de errores):

    CoGetCallContext(IID_IServerSecurity, (void**)&pss);
    pss->ImpersonateClient();
    pss->Release();

CoImpersonateClient encapsula el proceso de obtener un puntero a una instancia de IServerSecurity que contiene datos sobre la llamada actual, llamar a su método ImpersonateClient y, a continuación, liberar el puntero. Una llamada a CoRevertToSelf (o IServerSecurity::RevertToSelf) deshacerá cualquier número de llamadas para suplantar al cliente.

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado combaseapi.h (incluya Objbase.h)
Library Ole32.lib
Archivo DLL Ole32.dll

Consulte también

Ocultación

IServerSecurity::ImpersonateClient

Suplantación

Suplantación y llamadas asincrónicas

Seguridad en COM