Функция RpcBindingSetAuthInfoW (rpcdce.h)
Функция RpcBindingSetAuthInfo задает сведения о проверке подлинности и авторизации дескриптора привязки.
Синтаксис
RPC_STATUS RpcBindingSetAuthInfoW(
RPC_BINDING_HANDLE Binding,
RPC_WSTR ServerPrincName,
unsigned long AuthnLevel,
unsigned long AuthnSvc,
RPC_AUTH_IDENTITY_HANDLE AuthIdentity,
unsigned long AuthzSvc
);
Параметры
Binding
Дескриптор привязки сервера, к которому применяется информация о проверке подлинности и авторизации.
ServerPrincName
Указатель на ожидаемое имя субъекта сервера, на который ссылается Binding. Содержимое имени и его синтаксиса определяется используемой службой проверки подлинности.
AuthnLevel
Уровень проверки подлинности для удаленных вызовов процедур, выполненных с помощьюпривязки
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.
При выборе службы проверки подлинности RPC_C_AUTHN_GSS_SCHANNEL параметр AuthIdentity должен быть указателем на структуру SCHANNEL_CRED (определено в Schannel.h). Укажите значение NULL для использования контекста входа в систему безопасности для текущего адресного пространства. Передайте значение RPC_C_NO_CREDENTIALS для использования контекста анонимного входа.
AuthzSvc
Служба авторизации, реализованная сервером для интересующего интерфейса. См. примечание.
Допустимость и надежность данных авторизации, как и любые данные приложения, зависят от выбранной службы проверки подлинности и уровня проверки подлинности. Этот параметр игнорируется при использовании службы проверки подлинности RPC_C_AUTHN_WINNT.
Возвращаемое значение
Ценность | Значение |
---|---|
|
Вызов выполнен успешно. |
|
Дескриптор привязки недопустим. |
|
Это был неправильный вид привязки для операции. |
|
Неизвестная служба проверки подлинности. |
Замечания
Клиентское приложение вызывает функцию RpcBindingSetAuthInfo, чтобы настроить дескриптор привязки сервера для выполнения вызовов удаленных процедур с проверкой подлинности. Клиенту не требуется вызывать эту функцию.
Если клиент не вызывает
Функция RpcBindingSetAuthInfo принимает моментальный снимок учетных данных. Таким образом, память, выделенная для параметра AuthIdentity, может быть освобождена перед дескриптором привязки.
В связи с различными требованиями различных версий Microsoft RPC корпорация Майкрософт рекомендует, чтобы приложение поддерживало указатель на параметр AuthIdentity до тех пор, пока дескриптор привязки существует. Это повышает переносимость приложения.
Windows Server 2003 с пакетом обновления 1 (SP1) и Windows XP с пакетом обновления 2 (SP2): для Windows XP с пакетом обновления 2 (SP2) и Windows Server 2003 с пакетом обновления 1 (SP1) указатель на параметр AuthIdentity не требуется поддерживать в течение срока действия дескриптора привязки. Этот указатель должен поддерживаться только в том случае, если последующие вызовы rpcBindingInqAuthInfo или RpcBindingInqAuthInfoEx.
Заметка
Заголовок rpcdce.h определяет RpcBindingSetAuthInfo как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 2000 Профессиональный [классические приложения | Приложения UWP] |
минимальный поддерживаемый сервер | Windows 2000 Server [классические приложения | Приложения UWP] |
целевая платформа | Виндоус |
заголовка | rpcdce.h (include Rpc.h) |
библиотеки |
Rpcrt4.lib |
DLL | Rpcrt4.dll |