Compartilhar via


Função RpcBindingInqAuthClientW (rpcdce.h)

Um aplicativo de servidor chama a função RpcBindingInqAuthClient para obter o nome principal ou atributos de privilégio do cliente autenticado que fez a chamada de procedimento remoto.

Sintaxe

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

Parâmetros

ClientBinding

Identificador de associação de cliente do cliente que fez a chamada de procedimento remoto. Esse valor pode ser zero. Consulte Comentários.

Privs

Retorna um ponteiro para um identificador para as informações privilegiadas do aplicativo cliente que fez a chamada de procedimento remoto no identificador de associação ClientBinding. Para chamadas de ncalrpc, Privs contém uma cadeia de caracteres com o nome principal do cliente.

Os dados referenciados por esse parâmetro são somente leitura e não devem ser modificados pelo aplicativo do servidor. Se o servidor quiser preservar qualquer um dos dados retornados, o servidor deverá copiar os dados na memória alocada pelo servidor.

Os dados aos quais o parâmetro Privs aponta vêm diretamente do SSP. Portanto, o formato dos dados é específico para o SSP. Para obter mais informações sobre SSPs, consulte provedores de suporte de segurança (SSPs).

ServerPrincName

Retorna um ponteiro para um ponteiro para o nome da entidade de segurança do servidor especificado pelo aplicativo de servidor que chamou a função RpcServerRegisterAuthInfo. O conteúdo do nome retornado e sua sintaxe são definidos pelo serviço de autenticação em uso. Para o SSP do SCHANNEL, o nome principal está no formato padrão da Microsoft (msstd). Para obter mais informações sobre o formato msstd, consulte Principal Names.

Especifique um valor nulo para impedir que RpcBindingInqAuthClient retorne o parâmetro ServerPrincName. Nesse caso, o aplicativo não chama a função RpcStringFree.

AuthnLevel

Retorna um ponteiro definido para o nível de autenticação solicitado pelo aplicativo cliente que fez a chamada de procedimento remoto no identificador de associação ClientBinding.

Especifique um valor nulo para impedir que RpcBindingInqAuthClient retorne o parâmetro AuthnLevel.

AuthnSvc

Retorna um conjunto de ponteiros para o serviço de autenticação solicitado pelo aplicativo cliente que fez a chamada de procedimento remoto no identificador de associação ClientBinding. Para obter uma lista dos níveis de autenticação com suporte para RPC, consulte Authentication-Level Constants.

Especifique um valor nulo para impedir que RpcBindingInqAuthClient retorne o parâmetro AuthnSvc.

AuthzSvc

Retorna um conjunto de ponteiros para o serviço de autorização solicitado pelo aplicativo cliente que fez a chamada de procedimento remoto no identificador de associação ClientBinding.

Especifique um valor nulo para impedir que RpcBindingInqAuthClient retorne o parâmetro do AuthzSvc. Esse parâmetro não é usado pelo serviço de autenticação RPC_C_AUTHN_WINNT. O valor retornado sempre será RPC_C_AUTHZ_NONE.

Valor de retorno

Valor Significado
RPC_S_OK
A chamada foi bem-sucedida.
RPC_S_INVALID_BINDING
O identificador de associação era inválido.
RPC_S_WRONG_KIND_OF_BINDING
Este foi o tipo errado de associação para a operação.
RPC_S_BINDING_HAS_NO_AUTH
A associação não tem informações de autenticação.
 
Observação Para obter uma lista de códigos de erro válidos, consulte RPC Return Values.
 

Observações

Um aplicativo de servidor chama a função RpcBindingInqAuthClient para obter o nome principal ou atributos de privilégio do cliente autenticado que fez a chamada de procedimento remoto. Além disso, RpcBindingInqAuthClient retorna o serviço de autenticação, o nível de autenticação e o nome da entidade de segurança do servidor especificados pelo cliente. O servidor pode usar os dados retornados para fins de autorização.

A biblioteca de tempo de execução do RPC aloca memória para o parâmetro ServerPrincName retornado. O aplicativo é responsável por chamar a função RpcStringFree para a cadeia de caracteres de argumento retornada.

Para chamadas RPC síncronas, o aplicativo de servidor pode usar zero como o valor para o parâmetro ClientBinding. O uso de zero recupera as informações de autenticação e autorização da chamada de procedimento remoto em execução no momento.

Nota

O cabeçalho rpcdce.h define RpcBindingInqAuthClient como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 2000 Professional [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows 2000 Server [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho rpcdce.h (inclua Rpc.h)
biblioteca Rpcrt4.lib
de DLL Rpcrt4.dll

Consulte também

RpcBindingSetAuthInfo

RpcStringFree