Función RpcServerRegisterAuthInfo (rpcdce.h)
La función RpcServerRegisterAuthInfo registra información de autenticación con la biblioteca en tiempo de ejecución rpc.
Sintaxis
RPC_STATUS RpcServerRegisterAuthInfo(
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 | Distinto de 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 | Distinto de 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 | Distinto de null | Distinto de null | Usa 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 key version (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 llamada 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 en 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 |
---|---|
|
La llamada se realizó correctamente. |
|
No se conoce el servicio de autenticación. |
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 se definen.
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.
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 (include Rpc.h) |
Library | Rpcrt4.lib |
Archivo DLL | Rpcrt4.dll |
Consulte también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de