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
标头 combaseapi.h (包括 Objbase.h)
Library Ole32.lib
DLL Ole32.dll

另请参阅

隐形

IServerSecurity::ImpersonateClient

模拟

模拟和异步调用

COM 中的安全性