Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция RpcServerRegisterAuthInfo регистрирует сведения о проверке подлинности в библиотеке времени выполнения RPC.
Синтаксис
RPC_STATUS RpcServerRegisterAuthInfoA(
RPC_CSTR ServerPrincName,
unsigned long AuthnSvc,
RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn,
void *Arg
);
Параметры
ServerPrincName
Указатель на имя субъекта, используемое для сервера при проверке подлинности удаленных вызовов процедур с помощью службы, указанной параметром AuthnSvc. Содержимое имени и его синтаксиса определяется используемой службой проверки подлинности. Дополнительные сведения см. в разделе Имена субъектов.
AuthnSvc
Служба проверки подлинности, используемая при получении сервером запроса на удаленный вызов процедуры.
GetKeyFn
Адрес предоставленной сервером подпрограммы, возвращающей ключи шифрования. См. RPC_AUTH_KEY_RETRIEVAL_FN.
Укажите значение параметра NULL для использования метода приобретения ключа шифрования по умолчанию. В этом случае служба проверки подлинности указывает поведение по умолчанию. Задайте для этого параметра значение NULL при использовании службы проверки подлинности RPC_C_AUTHN_WINNT.
Служба проверки подлинности | GetKeyFn | Arg | Поведение во время выполнения |
---|---|---|---|
RPC_C_AUTHN_DPA | Игнорировать | Игнорировать | Не поддерживается |
RPC_C_AUTHN_GSS_KERBEROS | Игнорировать | Игнорировать | Не поддерживается |
RPC_C_AUTHN_GSS_NEGOTIATE | Игнорировать | Игнорировать | Не поддерживается |
RPC_C_AUTHN_GSS_SCHANNEL | Игнорировать | Игнорировать | Не поддерживается |
RPC_C_AUTHN_MQ | Игнорировать | Игнорировать | Не поддерживается |
RPC_C_AUTHN_MSN | Игнорировать | Игнорировать | Не поддерживается |
RPC_C_AUTHN_WINNT | Игнорировать | Игнорировать | Не поддерживается |
RPC_C_AUTHN_DCE_PRIVATE | NULL | Неnull | Использует метод получения ключа шифрования по умолчанию из указанной таблицы ключей; указанный аргумент передается функции приобретения по умолчанию. |
RPC_C_AUTHN_DCE_PRIVATE | Неnull | NULL | Использует указанную функцию приобретения ключей шифрования для получения ключей из таблицы ключей по умолчанию. |
RPC_C_AUTHN_DCE_PRIVATE | Неnull | Неnull | Использует указанную функцию получения ключей шифрования для получения ключей из указанной таблицы ключей; указанный аргумент передается функции приобретения. |
RPC_C_AUTHN_DEC_PUBLIC | Игнорировать | Игнорировать | Зарезервировано для дальнейшего использования. |
Библиотека времени выполнения RPC передает значение параметра ServerPrincName из RpcServerRegisterAuthInfo в качестве значения параметра ServerPrincName в функцию приобретения GetKeyFn. Библиотека времени выполнения RPC автоматически предоставляет значение параметра ключа (KeyVer) . Для параметра KeyVer нулю функция приобретения должна вернуть последний доступный ключ. Функция извлечения возвращает ключ проверки подлинности в параметре Key.
Если функция приобретения, вызванная из RpcServerRegisterAuthInfo возвращает состояние, отличное от RPC_S_OK, эта функция завершается ошибкой и возвращает код ошибки в серверное приложение. Если функция приобретения, вызванная библиотекой времени выполнения RPC при проверке подлинности удаленного вызова процедуры клиента, возвращает состояние, отличное от RPC_S_OK, запрос завершается ошибкой, а библиотека времени выполнения RPC возвращает код ошибки клиентскому приложению.
Arg
Указатель на параметр для передачи в подпрограмму GetKeyFn, если задано. Этот параметр также можно использовать для передачи указателя на структуру SCHANNEL_CRED, чтобы указать явные учетные данные, если для службы проверки подлинности задано значение SCHANNEL.
Если параметр Arg имеет значение NULL, эта функция будет использовать сертификат или учетные данные по умолчанию, если он настроен в службе каталогов.
Возвращаемое значение
Ценность | Значение |
---|---|
|
Вызов выполнен успешно. |
|
Служба проверки подлинности неизвестна. |
Замечания
Серверное приложение вызывает RpcServerRegisterAuthInfo для регистрации службы проверки подлинности для проверки подлинности удаленных вызовов процедур. Сервер вызывает эту подпрограмму один раз для каждой службы проверки подлинности, которую сервер хочет зарегистрировать. Если сервер вызывает эту функцию несколько раз для данной службы проверки подлинности, результаты не определены.
Служба проверки подлинности, указывающая клиентское приложение (с помощью RpcBindingSetAuthInfo или RpcServerRegisterAuthInfo) должна быть одной из служб проверки подлинности, указанных серверным приложением. В противном случае вызов удаленной процедуры клиента завершается ошибкой, и возвращается код состояния RPC_S_UNKNOWN_AUTHN_SERVICE.
Заметка
Заголовок rpcdce.h определяет RpcServerRegisterAuthInfo как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 2000 Профессиональный [только классические приложения] |
минимальный поддерживаемый сервер | Windows 2000 Server [только классические приложения] |
целевая платформа | Виндоус |
заголовка | rpcdce.h (include Rpc.h) |
библиотеки |
Rpcrt4.lib |
DLL | Rpcrt4.dll |