Função RpcBindingInqAuthInfoExA (rpcdce.h)
A função RpcBindingInqAuthInfoEx retorna informações de autenticação, autorização e qualidade de serviço de segurança de um identificador de associação.
Sintaxe
RPC_STATUS RpcBindingInqAuthInfoExA(
RPC_BINDING_HANDLE Binding,
RPC_CSTR *ServerPrincName,
unsigned long *AuthnLevel,
unsigned long *AuthnSvc,
RPC_AUTH_IDENTITY_HANDLE *AuthIdentity,
unsigned long *AuthzSvc,
unsigned long RpcQosVersion,
RPC_SECURITY_QOS *SecurityQOS
);
Parâmetros
Binding
Identificador de associação de servidor do qual as informações de autenticação e autorização são retornadas.
ServerPrincName
Retorna um ponteiro para um ponteiro para o nome principal esperado do servidor referenciado em Associação. O conteúdo do nome retornado e sua sintaxe são definidos pelo serviço de autenticação em uso.
Especifique um valor nulo para impedir que RpcBindingInqAuthInfoEx 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 usado para chamadas de procedimento remoto feitas usando Associação. 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 a função retorne o parâmetro AuthnLevel .
O nível retornado no parâmetro AuthnLevel pode ser diferente do nível especificado quando o cliente chamou a função RpcBindingSetAuthInfoEx . Essa discrepância ocorre quando a biblioteca de tempo de execução RPC não dá suporte ao nível de autenticação especificado pelo cliente e é atualizada automaticamente para o próximo nível de autenticação mais alto.
AuthnSvc
Retorna um ponteiro definido para o serviço de autenticação especificado para chamadas de procedimento remoto feitas usando Associação. Para obter uma lista dos serviços de autenticação com suporte para RPC, consulte Autenticação-Constantes de Serviço.
Especifique um valor nulo para impedir que RpcBindingInqAuthInfoEx retorne o parâmetro AuthnSvc .
AuthIdentity
Retorna um ponteiro para um identificador para a estrutura de dados que contém as credenciais de autenticação e autorização do cliente especificadas para chamadas de procedimento remoto feitas usando Associação.
Especifique um valor nulo para impedir que RpcBindingInqAuthInfoEx retorne o parâmetro AuthIdentity .
AuthzSvc
Retorna um ponteiro definido para o serviço de autorização solicitado pelo aplicativo cliente que fez a chamada de procedimento remoto em Binding. Para obter uma lista dos serviços de autenticação com suporte para RPC, consulte Autenticação-Constantes de Serviço.
Especifique um valor nulo para impedir que RpcBindingInqAuthInfoEx retorne o parâmetro AuthzSvc .
RpcQosVersion
Passa o valor da versão atual (necessário para compatibilidade futura se as extensões forem feitas para essa função). Sempre defina esse parâmetro como RPC_C_SECURITY_QOS_VERSION.
SecurityQOS
Retorna o ponteiro para a estrutura RPC_SECURITY_QOS , que define as configurações de qualidade de serviço.
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 cliente chama a função RpcBindingInqAuthInfoEx para exibir as informações de autenticação e autorização associadas a um identificador de associação de servidor. Essa função fornece a capacidade de perguntar sobre a qualidade de serviço de segurança no identificador de associação. De outra forma, ele é idêntico a RpcBindingInqAuthInfo.
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 essa cadeia de caracteres de argumento retornada.
Observação
O cabeçalho rpcdce.h define RpcBindingInqAuthInfoEx como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.
Requisitos
Cliente mínimo com suporte | Windows 2000 Professional [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows 2000 Server [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | rpcdce.h (inclua Rpc.h) |
Biblioteca | Rpcrt4.lib |
DLL | Rpcrt4.dll |