RpcBindingInqAuthInfoW 函数 (rpcdce.h)

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

语法

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

参数

Binding

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

ServerPrincName

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

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

AuthnLevel

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

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

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

AuthnSvc

返回一个指针,该指针设置为为使用 绑定进行的远程过程调用指定的身份验证服务。 请参阅注释。

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

AuthIdentity

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

指定 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 函数。

注意

rpcdce.h 标头将 RpcBindingInqAuthInfo 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
最低支持的客户端 Windows 2000 Professional [桌面应用 |UWP 应用]
支持的最低服务器 Windows 2000 Server [桌面应用 |UWP 应用]
目标平台 窗户
标头 rpcdce.h (包括 Rpc.h)
Rpcrt4.lib
DLL Rpcrt4.dll

另请参阅

RpcBindingInqAuthClient

RpcBindingInqAuthInfoEx

RpcBindingInqOption

RpcBindingSetAuthInfo

RpcStringFree