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 |
---|---|
|
A chamada foi bem-sucedida. |
|
O identificador de associação era inválido. |
|
Esse foi o tipo errado de associação para a operação. |
|
A associação não tem informações de autenticação. |
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 |