RpcBindingInqAuthClientA 函数 (rpcdce.h)

服务器应用程序调用 RpcBindingInqAuthClient 函数,以获取发出远程过程调用的经过身份验证的客户端的主体名称或特权属性。

语法

RPC_STATUS RpcBindingInqAuthClientA(
  RPC_BINDING_HANDLE ClientBinding,
  RPC_AUTHZ_HANDLE   *Privs,
  RPC_CSTR           *ServerPrincName,
  unsigned long      *AuthnLevel,
  unsigned long      *AuthnSvc,
  unsigned long      *AuthzSvc
);

参数

ClientBinding

发出远程过程调用的客户端的客户端绑定句柄。 此值可以为零。 请参阅“备注”。

Privs

返回指向客户端应用程序的特权信息的句柄的指针,该句柄对 ClientBinding 绑定句柄进行远程过程调用。 对于 ncalrpc 调用,Privs 包含具有客户端主体名称的字符串。

此参数引用的数据是只读的,不应由服务器应用程序修改。 如果服务器想要保留任何返回的数据,服务器必须将数据复制到服务器分配的内存中。

Privs 参数点直接来自 SSP 的数据。 因此,数据的格式特定于 SSP。 有关 SSP 的详细信息,请参阅 安全支持提供程序(SSP)

ServerPrincName

返回指向服务器应用程序指定的服务器主体名称的指针,该服务器应用程序调用 RpcServerRegisterAuthInfo 函数。 返回的名称及其语法的内容由正在使用的身份验证服务定义。 对于 SCHANNEL SSP,主体名称采用Microsoft标准(msstd)格式。 有关 msstd 格式的详细信息,请参阅 主体名称

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

AuthnLevel

返回一个指针,该指针设置为客户端应用程序请求的身份验证级别,该级别在 ClientBinding 绑定句柄上进行远程过程调用。

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

AuthnSvc

返回一个指针,该指针设置为客户端应用程序请求的身份验证服务,该服务对 ClientBinding 绑定句柄执行远程过程调用。 有关 RPC 支持的身份验证级别的列表,请参阅 Authentication-Level 常量

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

AuthzSvc

返回一个指针,该指针设置为客户端应用程序请求的授权服务,该服务在 ClientBinding 绑定句柄上进行远程过程调用。

指定 null 值以防止 RpcBindingInqAuthClient 返回 AuthzSvc 参数。 RPC_C_AUTHN_WINNT身份验证服务不使用此参数。 返回的值将始终RPC_C_AUTHZ_NONE。

返回值

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

言论

服务器应用程序调用 RpcBindingInqAuthClient 函数,以获取发出远程过程调用的经过身份验证的客户端的主体名称或特权属性。 此外,RpcBindingInqAuthClient 返回客户端指定的身份验证服务、身份验证级别和服务器主体名称。 服务器可以将返回的数据用于授权目的。

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

对于同步 RPC 调用,服务器应用程序可以使用零作为 ClientBinding 参数的值。 使用零从当前正在执行的远程过程调用中检索身份验证和授权信息。

注意

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

要求

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

另请参阅

RpcBindingSetAuthInfo

RpcStringFree