Função RpcBindingSetAuthInfoExA (rpcdce.h)
A função RpcBindingSetAuthInfoEx define as informações de autenticação, autorização e qualidade de serviço do identificador de associação.
Sintaxe
RPC_STATUS RpcBindingSetAuthInfoExA(
RPC_BINDING_HANDLE Binding,
RPC_CSTR ServerPrincName,
unsigned long AuthnLevel,
unsigned long AuthnSvc,
RPC_AUTH_IDENTITY_HANDLE AuthIdentity,
unsigned long AuthzSvc,
RPC_SECURITY_QOS *SecurityQos
);
Parâmetros
Binding
Identificador de associação de servidor no qual as informações de autenticação e autorização estão definidas.
ServerPrincName
Ponteiro para o nome principal esperado do servidor referenciado por Binding. O conteúdo do nome e sua sintaxe são definidos pelo serviço de autenticação em uso.
AuthnLevel
Nível de autenticação a ser executado em 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.
AuthnSvc
Serviço de autenticação a ser usado.
Especifique RPC_C_AUTHN_NONE para desativar a autenticação para chamadas de procedimento remoto feitas usando Associação.
Se RPC_C_AUTHN_DEFAULT for especificado, a biblioteca de tempo de execução RPC usará o serviço de autenticação RPC_C_AUTHN_WINNT para chamadas de procedimento remoto feitas usando Associação.
AuthIdentity
Identificador para a estrutura que contém as credenciais de autenticação e autorização do cliente apropriadas para o serviço de autenticação e autorização selecionado.
Ao usar o serviço de autenticação RPC_C_AUTHN_WINNT AuthIdentity deve ser um ponteiro para uma estrutura de SEC_WINNT_AUTH_IDENTITY (definida em Rpcdce.h). Os serviços de autenticação Kerberos e Negotiate também usam a estrutura SEC_WINNT_AUTH_IDENTITY .
Especifique um valor nulo para usar o contexto de logon de segurança para o espaço de endereço atual. Passe o valor RPC_C_NO_CREDENTIALS para usar um contexto de logon anônimo. Observe que RPC_C_NO_CREDENTIALS só será válido se RPC_C_AUTHN_GSS_SCHANNEL estiver selecionado como o serviço de autenticação.
AuthzSvc
Serviço de autorização implementado pelo servidor para a interface de interesse. A validade e a confiabilidade dos dados de autorização, como qualquer dado do aplicativo, dependem do serviço de autenticação e do nível de autenticação selecionado. Esse parâmetro é ignorado ao usar o serviço de autenticação RPC_C_AUTHN_WINNT. Consulte a observação.
SecurityQos
Ponteiro para a estrutura RPC_SECURITY_QOS , que define a qualidade de serviço de segurança.
Valor retornado
Valor | Significado |
---|---|
|
A chamada foi bem-sucedida. |
|
O identificador de associação era inválido. |
|
Esse era o tipo errado de associação para a operação. |
|
Serviço de autenticação desconhecido. |
Comentários
Um aplicativo cliente chama a função RpcBindingSetAuthInfoEx para configurar um identificador de associação de servidor para fazer chamadas de procedimento remoto autenticados. Essa função fornece a capacidade de definir informações de qualidade de serviço de segurança no identificador de associação. De outra forma, ele é idêntico a RpcBindingSetAuthInfo.
A menos que um cliente chame RpcBindingSetAuthInfoEx, todas as chamadas de procedimento remoto em Binding não serão autenticadas. Um cliente não é necessário para chamar essa função.
A função RpcBindingSetAuthInfoEx usa uma instantâneo das credenciais. Portanto, a memória dedicada ao parâmetro AuthIdentity pode ser liberada antes do identificador de associação. A exceção a isso é quando o aplicativo usa RpcBindingSetAuthInfoEx com RPC_C_QOS_IDENTITY_DYNAMIC e também especifica um valor não NULL para AuthIdentity.
Windows Server 2003 com SP1 e Windows XP com SP2: Para o Windows XP SP2 e o Windows Server 2003 SP1, o ponteiro para o parâmetro AuthIdentity não precisa ser mantido durante a vida útil do identificador de associação. Esse ponteiro só deverá ser mantido se as chamadas subsequentes para RpcBindingInqAuthInfo ou RpcBindingInqAuthInfoEx forem feitas.
Observação
O cabeçalho rpcdce.h define RpcBindingSetAuthInfoEx 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
Requisito | Valor |
---|---|
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 |