Función RpcServerRegisterAuthInfoA (rpcdce.h)

La función RpcServerRegisterAuthInfo registra información de autenticación con la biblioteca en tiempo de ejecución rpc.

Sintaxis

RPC_STATUS RpcServerRegisterAuthInfoA(
  RPC_CSTR                  ServerPrincName,
  unsigned long             AuthnSvc,
  RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn,
  void                      *Arg
);

Parámetros

ServerPrincName

Puntero al nombre principal que se va a usar para el servidor al autenticar llamadas a procedimientos remotos mediante el servicio especificado por el parámetro AuthnSvc . El contenido del nombre y su sintaxis se definen mediante el servicio de autenticación en uso. Para obtener más información, vea Nombres principales.

AuthnSvc

Servicio de autenticación que se usará cuando el servidor recibe una solicitud de una llamada a procedimiento remoto.

GetKeyFn

Dirección de una rutina proporcionada por la aplicación de servidor que devuelve claves de cifrado. Consulte RPC_AUTH_KEY_RETRIEVAL_FN.

Especifique un valor de parámetro NULL para usar el método predeterminado de adquisición de claves de cifrado. En este caso, el servicio de autenticación especifica el comportamiento predeterminado. Establezca este parámetro en NULL al usar el servicio de autenticación RPC_C_AUTHN_WINNT.

Servicio de autenticación GetKeyFn Arg Comportamiento en tiempo de ejecución
RPC_C_AUTHN_DPA Omitido Omitido No admite
RPC_C_AUTHN_GSS_KERBEROS Omitido Omitido No admite
RPC_C_AUTHN_GSS_NEGOTIATE Omitido Omitido No admite
RPC_C_AUTHN_GSS_SCHANNEL Omitido Omitido No admite
RPC_C_AUTHN_MQ Omitido Omitido No admite
RPC_C_AUTHN_MSN Omitido Omitido No admite
RPC_C_AUTHN_WINNT Omitido Omitido No admite
RPC_C_AUTHN_DCE_PRIVATE NULL No null Utiliza el método predeterminado de adquisición de claves de cifrado de la tabla de claves especificada; El argumento especificado se pasa a la función de adquisición predeterminada.
RPC_C_AUTHN_DCE_PRIVATE No null NULL Usa la función de adquisición de claves de cifrado especificada para obtener claves de la tabla de claves predeterminada.
RPC_C_AUTHN_DCE_PRIVATE No null No null Utiliza la función de adquisición de claves de cifrado especificada para obtener claves de la tabla de claves especificada; El argumento especificado se pasa a la función de adquisición.
RPC_C_AUTHN_DEC_PUBLIC Omitido Omitido Reservado para uso futuro.
 
 

La biblioteca en tiempo de ejecución rpc pasa el valor del parámetro ServerPrincName de RpcServerRegisterAuthInfo como valor del parámetro ServerPrincName a la función de adquisición GetKeyFn . La biblioteca en tiempo de ejecución rpc proporciona automáticamente un valor para el parámetro de versión de clave (KeyVer). Para un valor de parámetro KeyVer de cero, la función de adquisición debe devolver la clave más reciente disponible. La función de recuperación devuelve la clave de autenticación en el parámetro Key .

Si la función de adquisición a la que se llama desde RpcServerRegisterAuthInfo devuelve un estado distinto de RPC_S_OK, esta función produce un error y devuelve un código de error a la aplicación de servidor. Si la función de adquisición a la que llama la biblioteca en tiempo de ejecución rpc al autenticar la solicitud de llamada a procedimiento remoto de un cliente devuelve un estado distinto de RPC_S_OK, se produce un error en la solicitud y la biblioteca de tiempo de ejecución rpc devuelve un código de error a la aplicación cliente.

Arg

Puntero a un parámetro para pasar a la rutina GetKeyFn , si se especifica. Este parámetro también se puede usar para pasar un puntero a una estructura de SCHANNEL_CRED para especificar credenciales explícitas si el servicio de autenticación está establecido en SCHANNEL.

Si el parámetro Arg se establece en NULL, esta función usará el certificado predeterminado o la credencial si se ha configurado en el servicio de directorio.

Valor devuelto

Valor Significado
RPC_S_OK
La llamada se realizó correctamente.
RPC_S_UNKNOWN_AUTHN_SERVICE
No se conoce el servicio de autenticación.
 
Nota Para obtener una lista de códigos de error válidos, consulte Rpc Return Values.
 

Comentarios

Una aplicación de servidor llama a RpcServerRegisterAuthInfo para registrar un servicio de autenticación que se usará para autenticar llamadas a procedimientos remotos. Un servidor llama a esta rutina una vez para cada servicio de autenticación que el servidor quiere registrar. Si el servidor llama a esta función más de una vez para un servicio de autenticación determinado, los resultados no están definidos.

El servicio de autenticación que especifica una aplicación cliente (mediante RpcBindingSetAuthInfo o RpcServerRegisterAuthInfo) debe ser uno de los servicios de autenticación especificados por la aplicación de servidor. De lo contrario, se produce un error en la llamada a procedimiento remoto del cliente y se devuelve un código de estado de RPC_S_UNKNOWN_AUTHN_SERVICE.

Nota

El encabezado rpcdce.h define RpcServerRegisterAuthInfo como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado rpcdce.h (incluir Rpc.h)
Library Rpcrt4.lib
Archivo DLL Rpcrt4.dll

Consulte también

RpcBindingSetAuthInfo