rpcBindingInqAuthClient 函数 (rpcdce.h)

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

语法

RPC_STATUS RpcBindingInqAuthClient(
  RPC_BINDING_HANDLE ClientBinding,
  RPC_AUTHZ_HANDLE   *Privs,
  RPC_WSTR           *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 支持的身份验证级别的列表,请参阅 身份验证级别常量

指定 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 参数的值。 使用零从当前正在执行的远程过程调用中检索身份验证和授权信息。

要求

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

另请参阅

RpcBindingSetAuthInfo

RpcStringFree