Функция 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
Дескриптор привязки клиента клиента, который сделал удаленный вызов процедуры. Это значение может быть равно 0. См. заметки.
Privs
Возвращает указатель на дескриптор привилегированных сведений для клиентского приложения, которое произвело удаленный вызов процедуры для дескриптора привязки ClientBinding . Для вызовов ncalrpcPrivs содержит строку с именем участника клиента.
Серверное приложение должно привести параметр Privs к типу данных, указанному параметром AuthnSvc . Данные, на которые ссылается этот аргумент, доступны только для чтения и не должны изменяться серверным приложением. Если сервер хочет сохранить какие-либо возвращаемые данные, он должен скопировать данные в память, выделенную сервером.
Дополнительные сведения о поставщиках услуг SSP см. в разделе Поставщики поддержки безопасности (SSP).
ServerPrincName
Возвращает указатель на указатель на имя участника-сервера, указанное серверным приложением, которое вызывало функцию RpcServerRegisterAuthInfo . Содержимое возвращаемого имени и его синтаксис определяются используемой службой проверки подлинности. Для SCHANNEL SSP имя субъекта имеет формат msstd. Дополнительные сведения о формате msstd см. в разделе Имена субъектов.
Укажите значение NULL, чтобы запретить RpcBindingInqAuthClientEx возвращать параметр ServerPrincName . В этом случае приложение не вызывает функцию RpcStringFree .
AuthnLevel
Возвращает указатель, заданный на уровень проверки подлинности, запрошенный клиентским приложением, которое произвело удаленный вызов процедуры для дескриптора привязки ClientBinding . Список уровней проверки подлинности, поддерживаемых RPC, см. в разделе Константы уровня проверки подлинности.
Укажите значение NULL, чтобы запретить RpcBindingInqAuthClientEx возвращать параметр AuthnLevel .
AuthnSvc
Возвращает набор указателей на службу проверки подлинности, запрошенную клиентским приложением, которое произвело удаленный вызов процедуры для дескриптора привязки ClientBinding . Список служб проверки подлинности, поддерживаемых RPC, см. в разделе Authentication-Service Constants.
Укажите значение NULL, чтобы запретить RpcBindingInqAuthClientEx возвращать параметр AuthnSvc .
AuthzSvc
Возвращает набор указателей на службу авторизации, запрошенную клиентским приложением, которое произвело удаленный вызов процедуры для дескриптора привязки привязки. Список поддерживаемых RPC служб авторизации см. в разделе Константы службы авторизации .
Укажите значение 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 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | rpcdce.h (включая Rpc.h) |
Библиотека | Rpcrt4.lib |
DLL | Rpcrt4.dll |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по