Функция 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