Compartilhar via


Função RpcBindingInqAuthClient (rpcdce.h)

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

Sintaxe

RPC_STATUS RpcBindingInqAuthClient(
  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 do cliente que fez a chamada de procedimento remoto. Esse valor pode ser zero. Consulte Observações.

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 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 de 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 para os 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 Nomes de entidade de segurança.

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 ponteiro definido 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 Constantes no nível de autenticação.

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

AuthzSvc

Retorna um ponteiro definido 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 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 retornado

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
Esse 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.
 
Nota Para obter uma lista de códigos de erro válidos, consulte RPC Return Values.
 

Comentários

Um aplicativo de servidor chama a função RpcBindingInqAuthClient para obter os atributos de nome principal ou 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 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.

Requisitos

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

Confira também

RpcBindingSetAuthInfo

RpcStringFree