Функция RpcRevertToSelfEx (rpcdce.h)
Функция RpcRevertToSelfEx позволяет серверу олицетворение клиента, а затем отменить изменения в многопоточной операции, где вызов для олицетворения клиента может поступать из потока, отличного от потока, изначально отправленного из RPC.
Синтаксис
RPC_STATUS RpcRevertToSelfEx(
RPC_BINDING_HANDLE BindingHandle
);
Параметры
BindingHandle
Дескриптор привязки на сервере, представляющий привязку к клиенту, олицетворенным сервером. Нулевое значение указывает клиентский дескриптор текущего потока; в этом случае функции RpcRevertToSelfEx идентичны функциям функции RpcRevertToSelf .
Возвращаемое значение
Значение | Значение |
---|---|
|
Вызов выполнен успешно. |
|
У сервера нет клиента для олицетворения. |
|
Недопустимый дескриптор привязки. |
|
Это неправильный вид привязки для данной операции. |
|
Вызов не поддерживается для данной операционной системы, этого транспорта или подсистемы безопасности. |
Комментарии
После вызова 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 |