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


функция обратного вызова RPC_IF_CALLBACK_FN (rpcdce.h)

RPC_IF_CALLBACK_FN — это прототип функции обратного вызова безопасности, которую предоставляет приложение. Программа может предоставить функцию обратного вызова для каждого определенного интерфейса.

Синтаксис

RPC_IF_CALLBACK_FN RpcIfCallbackFn;

RPC_STATUS RpcIfCallbackFn(
       RPC_IF_HANDLE InterfaceUuid,
  [in] void *Context
)
{...}

Параметры

InterfaceUuid

[in] Context

Указатель на дескриптор привязки сервера RPC_IF_ID, представляющий клиент. В объявлении функции это должно быть типа RPC_IF_HANDLE, но это дескриптор привязки клиента, к нему можно безопасно привести. Функция обратного вызова может передать этот дескриптор RpcImpersonateClient, RpcBindingServerFromClient, RpcGetAuthorizationContextForClient или любую другую функцию на стороне сервера, которая принимает дескриптор привязки клиента для получения сведений о клиенте.

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

Функция обратного вызова должна возвращать RPC_S_OK, если клиенту разрешено вызывать методы в этом интерфейсе. Любой другой код возврата приведет к тому, что клиент получит RPC_S_ACCESS_DENIED исключения.

Примечание Список допустимых кодов ошибок см. в разделе Возвращаемые значения RPC.
 

Комментарии

В некоторых случаях время выполнения RPC может вызывать функцию обратного вызова безопасности более одного раза для каждого клиента на интерфейс. Убедитесь, что функция обратного вызова может справиться с этой возможностью.

Обратный вызов безопасности должен быть объявлен как RPC_ENTRY.

Требования

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

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

RpcServerRegisterIfEx