Функция RpcBindingInqAuthClientExW (rpcdce.h)
Серверное приложение вызывает функцию RpcBindingInqAuthClientEx для получения расширенных сведений о клиентской программе, которая вызвала удаленную процедуру.
Синтаксис
RPC_STATUS RpcBindingInqAuthClientExW(
RPC_BINDING_HANDLE ClientBinding,
RPC_AUTHZ_HANDLE *Privs,
RPC_WSTR *ServerPrincName,
unsigned long *AuthnLevel,
unsigned long *AuthnSvc,
unsigned long *AuthzSvc,
unsigned long Flags
);
Параметры
ClientBinding
Дескриптор привязки клиента, который вызвал удаленную процедуру. Это значение может быть равно нулю. См. примечания.
Privs
Возвращает указатель на дескриптор привилегированных сведений для клиентского приложения, который вызвал удаленную процедуру на дескриптор привязки ClientBinding. Для вызовов ncalrpcPrivs содержит строку с именем субъекта клиента.
Серверное приложение должно привести параметр
Дополнительные сведения об SSPS см. впоставщиков поддержки безопасности
ServerPrincName
Возвращает указатель на указатель на имя субъекта-сервера, указанное серверным приложением, которое вызывало функцию RpcServerRegisterAuthInfo. Содержимое возвращаемого имени и его синтаксиса определяются службой проверки подлинности, используемой службой проверки подлинности. Для SCHANNEL SSP основное имя находится в формате msstd. Дополнительные сведения о формате msstd см. в разделе Имена субъектов.
Укажите значение NULL, чтобы предотвратить RpcBindingInqAuthClientEx возвращать параметр ServerPrincName. В этом случае приложение не вызывает функцию RpcStringFree.
AuthnLevel
Возвращает указатель на уровень проверки подлинности, запрошенный клиентским приложением, который вызвал удаленную процедуру на дескриптор привязки ClientBinding. Список уровней проверки подлинности, поддерживаемых RPC, см. в разделе Authentication-Level константы.
Укажите значение NULL, чтобы предотвратить RpcBindingInqAuthClientEx возвращать параметр AuthnLevel.
AuthnSvc
Возвращает указатель на службу проверки подлинности, запрошенную клиентским приложением, которое сделало вызов удаленной процедуры для дескриптора привязки
Укажите значение NULL, чтобы предотвратить RpcBindingInqAuthClientEx возвращать параметр AuthnSvc.
AuthzSvc
Возвращает указатель на службу авторизации, запрошенную клиентским приложением, которое вызывало удаленный вызов процедуры на дескриптор привязки привязки. Список поддерживаемых служб авторизации RPC см. в разделе Authorization-Service Константы .
Укажите значение NULL, чтобы предотвратить RpcBindingInqAuthClientEx возвращать параметр AuthzSvc. Этот параметр не используется службой проверки подлинности RPC_C_AUTHN_WINNT. Возвращаемое значение всегда будет RPC_S_AUTHZ_NONE.
Flags
Управляет форматом имени субъекта. Этот параметр можно задать следующим значением.
Ценность | Значение |
---|---|
|
Передает имя субъекта в формате полного |
Возвращаемое значение
Ценность | Значение |
---|---|
|
Вызов выполнен успешно. |
|
Дескриптор привязки недопустим. |
|
Это был неправильный вид привязки для операции. |
|
Привязка не содержит сведений о проверке подлинности. |
Замечания
Серверное приложение вызывает функцию RpcBindingInqAuthClientEx, чтобы получить имя субъекта или атрибуты привилегий прошедшего проверку подлинности клиента, который вызвал удаленную процедуру. Кроме того, RpcBindingInqAuthClientEx возвращает службу проверки подлинности, уровень проверки подлинности и имя субъекта-сервера, указанное клиентом. Сервер может использовать возвращаемые данные для авторизации.
Библиотека времени выполнения RPC выделяет память для возвращаемого параметра ServerPrincName. Приложение отвечает за вызов функции RpcStringFree для возвращаемой строки аргумента.
Для синхронных вызовов RPC серверное приложение может использовать ноль в качестве значения параметра ClientBinding. Используя ноль, извлекает сведения о проверке подлинности и авторизации из текущего вызова удаленной процедуры.
Заметка
Заголовок rpcdce.h определяет RpcBindingInqAuthClientEx как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 2000 Профессиональный [только классические приложения] |
минимальный поддерживаемый сервер | Windows 2000 Server [только классические приложения] |
целевая платформа | Виндоус |
заголовка | rpcdce.h (include Rpc.h) |
библиотеки |
Rpcrt4.lib |
DLL | Rpcrt4.dll |