Поделиться через


Функция RpcRevertToSelfEx (rpcdce.h)

Функция RpcRevertToSelfEx позволяет серверу олицетворение клиента, а затем отменить изменения в многопоточной операции, где вызов для олицетворения клиента может поступать из потока, отличного от потока, изначально отправленного из RPC.

Синтаксис

RPC_STATUS RpcRevertToSelfEx(
  RPC_BINDING_HANDLE BindingHandle
);

Параметры

BindingHandle

Дескриптор привязки на сервере, представляющий привязку к клиенту, олицетворенным сервером. Нулевое значение указывает клиентский дескриптор текущего потока; в этом случае функции RpcRevertToSelfEx идентичны функциям функции RpcRevertToSelf .

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

Значение Значение
RPC_S_OK
Вызов выполнен успешно.
RPC_S_NO_CALL_ACTIVE
У сервера нет клиента для олицетворения.
RPC_S_INVALID_BINDING
Недопустимый дескриптор привязки.
RPC_S_WRONG_KIND_OF_BINDING
Это неправильный вид привязки для данной операции.
RPC_S_CANNOT_SUPPORT
Вызов не поддерживается для данной операционной системы, этого транспорта или подсистемы безопасности.
 
Примечание Список допустимых кодов ошибок см. в разделе Возвращаемые значения RPC.
 

Комментарии

После вызова RpcImpersonateClient и выполнения любых задач, требующих олицетворения клиента, сервер вызывает RpcRevertToSelfEx для завершения олицетворения и повторного создания собственного удостоверения безопасности. Например, рассмотрим первичный поток с именем thread1, который отправляется из удаленного клиента и активирует рабочий поток с именем thread2. Если thread2 требует, чтобы сервер олицетворял клиента, сервер вызывает RpcImpersonateClient(THREAD1_CALL_HANDLE), выполняет требуемую задачу, вызывает RpcRevertToSelfEx(THREAD1_CALL_HANDLE), чтобы завершить олицетворение, а затем активирует thread1.

Требования

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

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

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

RpcImpersonateClient

RpcRevertToSelf