RpcBindingInqAuthInfoExA 函数 (rpcdce.h)
RpcBindingInqAuthInfoEx 函数从绑定句柄返回身份验证、授权和安全服务质量信息。
语法
RPC_STATUS RpcBindingInqAuthInfoExA(
RPC_BINDING_HANDLE Binding,
RPC_CSTR *ServerPrincName,
unsigned long *AuthnLevel,
unsigned long *AuthnSvc,
RPC_AUTH_IDENTITY_HANDLE *AuthIdentity,
unsigned long *AuthzSvc,
unsigned long RpcQosVersion,
RPC_SECURITY_QOS *SecurityQOS
);
参数
Binding
从中返回身份验证和授权信息的服务器绑定句柄。
ServerPrincName
返回指向指向 绑定中引用的服务器的预期主体名称的指针。 返回的名称及其语法的内容由正在使用的身份验证服务定义。
指定 null 值以防止 RpcBindingInqAuthInfoEx 返回 ServerPrincName 参数。 在这种情况下,应用程序不会调用 RpcStringFree 函数。
AuthnLevel
返回一个指针,该指针设置为用于使用 绑定进行远程过程调用的身份验证级别。 有关 RPC 支持的身份验证级别的列表,请参阅 Authentication-Level 常量。 指定 null 值以防止函数返回 AuthnLevel 参数。
AuthnLevel 参数中返回的级别可能与客户端调用 RpcBindingSetAuthInfoEx 函数时指定的级别不同。 当 RPC 运行时库不支持客户端指定的身份验证级别并自动升级到下一个更高的身份验证级别时,会发生这种差异。
AuthnSvc
返回一个指针,该指针设置为为使用 绑定进行的远程过程调用指定的身份验证服务。 有关 RPC 支持的身份验证服务的列表,请参阅 Authentication-Service 常量。
指定 null 值以防止 RpcBindingInqAuthInfoEx 返回 AuthnSvc 参数。
AuthIdentity
返回指向数据结构的指针,该句柄包含为使用 绑定进行的远程过程调用指定的客户端身份验证和授权凭据。
指定 null 值以防止 RpcBindingInqAuthInfoEx 返回 AuthIdentity 参数。
AuthzSvc
返回一个指针,该指针设置为客户端应用程序请求的授权服务,该服务对 绑定进行远程过程调用。 有关 RPC 支持的身份验证服务的列表,请参阅 Authentication-Service 常量。
指定 null 值以防止 RpcBindingInqAuthInfoEx 返回 AuthzSvc 参数。
RpcQosVersion
传递当前版本的值(如果对此函数进行扩展时需要向前兼容性)。 始终将此参数设置为RPC_C_SECURITY_QOS_VERSION。
SecurityQOS
返回指向定义服务质量设置 RPC_SECURITY_QOS 结构的指针。
返回值
价值 | 意义 |
---|---|
|
调用成功。 |
|
绑定句柄无效。 |
|
这是操作的错误绑定类型。 |
|
绑定没有身份验证信息。 |
言论
客户端应用程序调用 RpcBindingInqAuthInfoEx 函数以查看与服务器绑定句柄关联的身份验证和授权信息。 此函数提供在绑定句柄上查询安全服务质量的功能。 否则,它与 RpcBindingInqAuthInfo相同。
RPC 运行时库为返回的 ServerPrincName 参数分配内存。 应用程序负责为返回的参数字符串调用 RpcStringFree 函数。
注意
rpcdce.h 标头将 RpcBindingInqAuthInfoEx 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 2000 Professional [桌面应用 |UWP 应用] |
支持的最低服务器 | Windows 2000 Server [桌面应用 |UWP 应用] |
目标平台 | 窗户 |
标头 | rpcdce.h (包括 Rpc.h) |
库 | Rpcrt4.lib |
DLL | Rpcrt4.dll |