Функция 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
Указатель на ожидаемое имя субъекта сервера, на который ссылается Binding. Содержимое имени и его синтаксиса определяется используемой службой проверки подлинности.
AuthnLevel
Уровень проверки подлинности для удаленных вызовов процедур, выполненных с помощьюпривязки
AuthnSvc
Служба проверки подлинности для использования.
Укажите RPC_C_AUTHN_NONE, чтобы отключить проверку подлинности для удаленных вызовов процедур, выполненных с помощью привязки.
Если указан RPC_C_AUTHN_DEFAULT, библиотека времени выполнения RPC использует службу проверки подлинности RPC_C_AUTHN_WINNT для удаленных вызовов процедур, выполненных с помощью привязки.
AuthIdentity
Обработка структуры, содержащей учетные данные проверки подлинности и авторизации клиента, подходящие для выбранной службы проверки подлинности и авторизации.
При использовании службы проверки подлинности RPC_C_AUTHN_WINNTAuthIdentity должна быть указательом на структуру 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, все удаленные вызовы процедур в Привязке не будут пройти проверку подлинности. Клиенту не требуется вызывать эту функцию.
Функция RpcBindingSetAuthInfoEx принимает моментальный снимок учетных данных. Таким образом, память, выделенная для параметра 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] |
целевая платформа | Виндоус |
заголовка | rpcdce.h (include Rpc.h) |
библиотеки |
Rpcrt4.lib |
DLL | Rpcrt4.dll |