функция обратного вызова 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_ENTRY.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | rpcdce.h (включая Rpc.h) |