RpcBindingInqAuthInfo 函数 (rpcdce.h)

RpcBindingInqAuthInfo 函数从绑定句柄返回身份验证和授权信息。

语法

RPC_STATUS RpcBindingInqAuthInfo(
  RPC_BINDING_HANDLE       Binding,
  RPC_CSTR                 *ServerPrincName,
  unsigned long            *AuthnLevel,
  unsigned long            *AuthnSvc,
  RPC_AUTH_IDENTITY_HANDLE *AuthIdentity,
  unsigned long            *AuthzSvc
);

parameters

Binding

从中返回身份验证和授权信息的服务器绑定句柄。

ServerPrincName

返回指向 指向绑定中引用的服务器的预期主体名称的指针的指针。 返回的名称的内容及其语法由正在使用的身份验证服务定义。

指定一个 null 值,以防止 RpcBindingInqAuthInfo 返回 ServerPrincName 参数。 在这种情况下,应用程序不调用 RpcStringFree 函数。

AuthnLevel

返回一个指针,该指针设置为用于使用 Binding 进行的远程过程调用的身份验证级别。 请参阅“注意”。

指定一个 null 值,以防止函数返回 AuthnLevel 参数。

在 AuthnLevel 参数中返回的级别可能与客户端调用 RpcBindingSetAuthInfo 函数时指定的级别不同。 如果 RPC 运行时库不支持客户端指定的身份验证级别,并且会自动升级到下一个更高的身份验证级别,则会发生此差异。

AuthnSvc

返回指向为使用 Binding 进行的远程过程调用指定的身份验证服务的指针。 请参阅“注意”。

指定 null 值以防止 RpcBindingInqAuthInfo 返回 AuthnSvc 参数。

AuthIdentity

返回指向数据结构的句柄的指针,该句柄包含客户端的身份验证和授权凭据,该凭据为使用 Binding 进行的远程过程调用指定。

指定 null 值以防止 RpcBindingInqAuthInfo 返回 AuthIdentity 参数。

AuthzSvc

返回一个指针,该指针集指向客户端应用程序请求的授权服务,该客户端应用程序对 绑定 请参阅说明进行了远程过程调用。

指定一个 null 值,以防止 RpcBindingInqAuthInfo 返回 AuthzSvc 参数。

注意 有关 RPC 支持的身份验证服务的列表,请参阅 Authentication-Service 常量
 

返回值

含义
RPC_S_OK
调用成功。
RPC_S_INVALID_BINDING
绑定句柄无效。
RPC_S_WRONG_KIND_OF_BINDING
这是操作的错误绑定类型。
RPC_BINDING_HAS_NO_AUTH
绑定没有身份验证信息。
 
注意 有关有效错误代码的列表,请参阅 RPC 返回值
 

注解

客户端应用程序调用 RpcBindingInqAuthInfo 函数来查看与服务器绑定句柄关联的身份验证和授权信息。 类似的函数 RpcBindingInqAuthInfoEx 还提供有关绑定句柄的安全服务质量信息。

RPC 运行时库为返回的 ServerPrincName 参数分配内存。 应用程序负责为返回的参数字符串调用 RpcStringFree 函数。

要求

   
最低受支持的客户端 Windows 2000 专业版 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows 2000 Server [桌面应用 |UWP 应用]
目标平台 Windows
标头 rpcdce.h (包括 Rpc.h)
Library Rpcrt4.lib
DLL Rpcrt4.dll

请参阅

RpcBindingInqAuthClient

RpcBindingInqAuthInfoEx

RpcBindingInqOption

RpcBindingSetAuthInfo

RpcStringFree