Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A função RpcServerRegisterAuthInfo registra informações de autenticação com a biblioteca de tempo de execução do RPC.
Sintaxe
RPC_STATUS RpcServerRegisterAuthInfoW(
RPC_WSTR ServerPrincName,
unsigned long AuthnSvc,
RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn,
void *Arg
);
Parâmetros
ServerPrincName
Ponteiro para o nome principal a ser usado para o servidor ao autenticar chamadas de procedimento remoto usando o serviço especificado pelo parâmetro
AuthnSvc
Serviço de autenticação a ser usado quando o servidor recebe uma solicitação para uma chamada de procedimento remoto.
GetKeyFn
Endereço de uma rotina fornecida pelo servidor-aplicativo que retorna chaves de criptografia. Consulte RPC_AUTH_KEY_RETRIEVAL_FN.
Especifique um valor de parâmetro NULL para usar o método padrão de aquisição de chave de criptografia. Nesse caso, o serviço de autenticação especifica o comportamento padrão. Defina esse parâmetro para NULL ao usar o serviço de autenticação RPC_C_AUTHN_WINNT.
| Serviço de autenticação | GetKeyFn | Arg | Comportamento em tempo de execução |
|---|---|---|---|
| RPC_C_AUTHN_DPA | Ignorado | Ignorado | Não dá suporte |
| RPC_C_AUTHN_GSS_KERBEROS | Ignorado | Ignorado | Não dá suporte |
| RPC_C_AUTHN_GSS_NEGOTIATE | Ignorado | Ignorado | Não dá suporte |
| RPC_C_AUTHN_GSS_SCHANNEL | Ignorado | Ignorado | Não dá suporte |
| RPC_C_AUTHN_MQ | Ignorado | Ignorado | Não dá suporte |
| RPC_C_AUTHN_MSN | Ignorado | Ignorado | Não dá suporte |
| RPC_C_AUTHN_WINNT | Ignorado | Ignorado | Não dá suporte |
| RPC_C_AUTHN_DCE_PRIVATE | NULL | nulo não |
Usa o método padrão de aquisição de chave de criptografia da tabela de chaves especificada; o argumento especificado é passado para a função de aquisição padrão. |
| RPC_C_AUTHN_DCE_PRIVATE | nulo não |
NULL | Usa a função de aquisição de chave de criptografia especificada para obter chaves da tabela de chaves padrão. |
| RPC_C_AUTHN_DCE_PRIVATE | nulo não |
nulo não |
Usa a função de aquisição de chave de criptografia especificada para obter chaves da tabela de chaves especificada; o argumento especificado é passado para a função de aquisição. |
| RPC_C_AUTHN_DEC_PUBLIC | Ignorado | Ignorado | Reservado para uso futuro. |
A biblioteca de tempo de execução do RPC passa o valor do parâmetro ServerPrincName de RpcServerRegisterAuthInfo como o valor do parâmetro ServerPrincName para a função de aquisição do GetKeyFn. A biblioteca de tempo de execução RPC fornece automaticamente um valor para o parâmetro key version (KeyVer). Para um KeyVer valor de parâmetro de zero, a função de aquisição deve retornar a chave mais recente disponível. A função de recuperação retorna a chave de autenticação no parâmetro Key.
Se a função de aquisição chamada de RpcServerRegisterAuthInfo retornar um status diferente de RPC_S_OK, essa função falhará e retornará um código de erro para o aplicativo do servidor. Se a função de aquisição chamada pela biblioteca de tempo de execução RPC durante a autenticação da solicitação de chamada de procedimento remoto de um cliente retornar um status diferente de RPC_S_OK, a solicitação falhará e a biblioteca de tempo de execução do RPC retornará um código de erro para o aplicativo cliente.
Arg
Ponteiro para um parâmetro a ser passado para a rotina de GetKeyFn, se especificado. Esse parâmetro também pode ser usado para passar um ponteiro para uma estrutura de SCHANNEL_CRED para especificar credenciais explícitas se o serviço de autenticação estiver definido como SCHANNEL.
Se o parâmetro Arg estiver definido como NULL, essa função usará o certificado ou a credencial padrão se ele tiver sido configurado no serviço de diretório.
Valor de retorno
| Valor | Significado |
|---|---|
|
A chamada foi bem-sucedida. |
|
O serviço de autenticação é desconhecido. |
Observações
Um aplicativo de servidor chama RpcServerRegisterAuthInfo para registrar um serviço de autenticação a ser usado para autenticar chamadas de procedimento remoto. Um servidor chama essa rotina uma vez para cada serviço de autenticação que o servidor deseja registrar. Se o servidor chamar essa função mais de uma vez para um determinado serviço de autenticação, os resultados serão indefinidos.
O serviço de autenticação especificado por um aplicativo cliente (usando RpcBindingSetAuthInfo ou RpcServerRegisterAuthInfo) deve ser um dos serviços de autenticação especificados pelo aplicativo de servidor. Caso contrário, a chamada de procedimento remoto do cliente falhará e um código de status RPC_S_UNKNOWN_AUTHN_SERVICE será retornado.
Nota
O cabeçalho rpcdce.h define RpcServerRegisterAuthInfo 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 |