Функция RpcBindingSetAuthInfoExA (rpcdce.h)
Функция RpcBindingSetAuthInfoEx задает сведения о проверке подлинности, авторизации и безопасности дескриптора привязки.
Синтаксис
RPC_STATUS RpcBindingSetAuthInfoExA(
RPC_BINDING_HANDLE Binding,
RPC_CSTR ServerPrincName,
unsigned long AuthnLevel,
unsigned long AuthnSvc,
RPC_AUTH_IDENTITY_HANDLE AuthIdentity,
unsigned long AuthzSvc,
RPC_SECURITY_QOS *SecurityQos
);
Параметры
Binding
Дескриптор привязки сервера, в который задается информация о проверке подлинности и авторизации.
ServerPrincName
Указатель на ожидаемое имя субъекта сервера, на который ссылается привязка. Содержимое имени и его синтаксис определяются используемой службой проверки подлинности.
AuthnLevel
Уровень проверки подлинности для удаленных вызовов процедур, выполняемых с помощью привязки. Список уровней проверки подлинности, поддерживаемых RPC, см. в разделе Константы уровня проверки подлинности.
AuthnSvc
Используемая служба проверки подлинности.
Укажите RPC_C_AUTHN_NONE, чтобы отключить проверку подлинности для удаленных вызовов процедур, выполненных с помощью привязки.
Если указан RPC_C_AUTHN_DEFAULT, библиотека среды выполнения RPC использует службу проверки подлинности RPC_C_AUTHN_WINNT для удаленных вызовов процедур, выполняемых с помощью привязки.
AuthIdentity
Дескриптор структуры, содержащей учетные данные для проверки подлинности и авторизации клиента, соответствующие выбранной службе проверки подлинности и авторизации.
При использовании RPC_C_AUTHN_WINNT служба проверки подлинности AuthIdentity должна быть указателем на структуру SEC_WINNT_AUTH_IDENTITY (определенную в Rpcdce.h). Службы проверки подлинности Kerberos и Negotiate также используют структуру SEC_WINNT_AUTH_IDENTITY .
Укажите значение NULL, чтобы использовать контекст входа безопасности для текущего адресного пространства. Передайте значение RPC_C_NO_CREDENTIALS для использования анонимного контекста входа. Обратите внимание, что RPC_C_NO_CREDENTIALS действителен только в том случае, если в качестве службы проверки подлинности выбран RPC_C_AUTHN_GSS_SCHANNEL.
AuthzSvc
Служба авторизации, реализованная сервером для интересующего интерфейса. Достоверность и надежность данных авторизации, как и любых данных приложения, зависит от выбранной службы проверки подлинности и выбранного уровня проверки подлинности. Этот параметр игнорируется при использовании службы проверки подлинности RPC_C_AUTHN_WINNT. См. примечание.
SecurityQos
Указатель на структуру RPC_SECURITY_QOS , которая определяет качество обслуживания системы безопасности.
Возвращаемое значение
Значение | Значение |
---|---|
|
Вызов выполнен успешно. |
|
Недопустимый дескриптор привязки. |
|
Это был неправильный тип привязки для операции. |
|
Неизвестная служба проверки подлинности. |
Комментарии
Клиентское приложение вызывает функцию RpcBindingSetAuthInfoEx , чтобы настроить дескриптор привязки сервера для выполнения вызовов удаленных процедур, прошедших проверку подлинности. Эта функция предоставляет возможность задавать сведения о качестве обслуживания безопасности для дескриптора привязки. В противном случае он идентичен RpcBindingSetAuthInfo.
Если клиент не вызывает RpcBindingSetAuthInfoEx, все удаленные вызовы процедур в Binding не будут пройти проверку подлинности. Клиент не требуется для вызова этой функции.
Функция RpcBindingSetAuthInfoEx принимает snapshot учетных данных. Таким образом, память, выделенная для параметра AuthIdentity , может быть освобождена до дескриптора привязки. Исключением является то, что приложение использует RpcBindingSetAuthInfoEx с RPC_C_QOS_IDENTITY_DYNAMIC, а также задает значение, отличное от NULL , для AuthIdentity.
Windows Server 2003 с пакетом обновления 1 (SP1) и Windows XP с пакетом обновления 2 (SP2): Для Windows XP с пакетом обновления 2 (SP2) и Windows Server 2003 с пакетом обновления 1 (SP1) указатель на параметр AuthIdentity не должен поддерживаться в течение срока действия дескриптора привязки. Этот указатель должен поддерживаться только в том случае, если последующие вызовы RpcBindingInqAuthInfo или RpcBindingInqAuthInfoEx выполняются.
Примечание
Заголовок rpcdce.h определяет RpcBindingSetAuthInfoEx как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Профессиональная [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows 2000 Server [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | rpcdce.h (включая Rpc.h) |
Библиотека | Rpcrt4.lib |
DLL | Rpcrt4.dll |