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
);
parameters
Binding
从中返回身份验证和授权信息的服务器绑定句柄。
ServerPrincName
返回指向 指向绑定中引用的服务器的预期主体名称的指针的指针。 返回的名称的内容及其语法由正在使用的身份验证服务定义。
指定一个 null 值,以防止 RpcBindingInqAuthInfoEx 返回 ServerPrincName 参数。 在这种情况下,应用程序不调用 RpcStringFree 函数。
AuthnLevel
返回一个指针,该指针设置为用于使用 Binding 进行的远程过程调用的身份验证级别。 有关 RPC 支持的身份验证级别的列表,请参阅 身份验证级别常量。 指定一个 null 值,以防止函数返回 AuthnLevel 参数。
AuthnLevel 参数中返回的级别可能与客户端调用 RpcBindingSetAuthInfoEx 函数时指定的级别不同。 当 RPC 运行时库不支持客户端指定的身份验证级别,并自动升级到下一个更高的身份验证级别时,就会发生这种差异。
AuthnSvc
返回指向为使用 Binding 进行的远程过程调用指定的身份验证服务的指针。 有关 RPC 支持的身份验证服务的列表,请参阅 Authentication-Service 常量。
指定 null 值以防止 RpcBindingInqAuthInfoEx 返回 AuthnSvc 参数。
AuthIdentity
返回指向数据结构的句柄的指针,该句柄包含客户端的身份验证和授权凭据,该凭据为使用 Binding 进行的远程过程调用指定。
指定一个 null 值,以防止 RpcBindingInqAuthInfoEx 返回 AuthIdentity 参数。
AuthzSvc
返回一个指针,该指针集指向客户端应用程序请求的授权服务,该客户端应用程序对 Binding 进行了远程过程调用。 有关 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 专业版 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows 2000 Server [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | rpcdce.h (包括 Rpc.h) |
Library | Rpcrt4.lib |
DLL | Rpcrt4.dll |