Функция CoImpersonateClient (combaseapi.h)

Позволяет серверу олицетворять клиента текущего вызова на протяжении всего вызова.

Синтаксис

HRESULT CoImpersonateClient();

Возвращаемое значение

Эта функция поддерживает стандартные возвращаемые значения, включая S_OK.

Комментарии

Этот метод позволяет серверу олицетворять клиента текущего вызова на протяжении всего вызова. Если вы не вызываете CoRevertToSelf, COM автоматически возвращается. Эта функция завершится ошибкой, если объект не вызывается с RPC_C_AUTHN_LEVEL_CONNECT или более высокой проверкой подлинности (это любой уровень проверки подлинности, кроме RPC_C_AUTHN_LEVEL_NONE). Эта функция инкапсулирует следующую последовательность распространенных вызовов (обработка ошибок исключается):

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

CoImpersonateClient инкапсулирует процесс получения указателя на экземпляр IServerSecurity , который содержит данные о текущем вызове, вызывает его метод ImpersonateClient , а затем освобождает указатель. Один вызов CoRevertToSelf (или IServerSecurity::RevertToSelf) отменяет любое количество вызовов для олицетворения клиента.

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header combaseapi.h (включая Objbase.h)
Библиотека Ole32.lib
DLL Ole32.dll

См. также раздел

Маскировочное

IServerSecurity::ImpersonateClient

Олицетворение

Олицетворение и асинхронные вызовы

Безопасность в COM