Función RpcBindingSetOption (rpcdce.h)
La función RpcBindingSetOption permite a las aplicaciones cliente especificar opciones de cola de mensajes en un identificador de enlace.
Sintaxis
RPC_STATUS RpcBindingSetOption(
RPC_BINDING_HANDLE hBinding,
unsigned long option,
ULONG_PTR optionValue
);
Parámetros
hBinding
Enlace de servidor que se va a modificar.
option
Propiedad de enlace que se va a modificar. Para obtener una lista de las opciones de enlace y sus valores posibles, consulte Binding Option Constants. Vea Comentarios para obtener información sobre la característica tiempo de espera de llamada RPC.
optionValue
Nuevo valor para la propiedad de enlace. Vea la sección Comentarios.
Valor devuelto
Valor | Significado |
---|---|
|
La llamada se realizó correctamente. |
|
La función no es compatible con el sistema operativo o el transporte. Tenga en cuenta que llamar a RpcBindingSetOption en los identificadores de enlace que usen cualquier secuencia de protocolo distinta de ncacn_* producirá un error y devolverá este valor. |
Comentarios
Los procesos de cliente RPC usan RpcBindingSetOption para controlar la calidad de la entrega, el registro de llamadas y la duración de las llamadas. Cambiar las propiedades del identificador de enlace afectará a todas las llamadas remotas hasta que otra llamada a RpcBindingSetOption cambie las propiedades. También puede llamar a RpcBindingSetAuthInfo para establecer opciones de seguridad para el identificador de enlace.
Windows XP: Característica de tiempo de espera de llamada RPC:
Llamar a la función RpcBindingSetOption con Option establecido en RPC_C_OPT_CALL_TIMEOUT y OptionValue establecido en el valor de tiempo de espera (en milisegundos) permite a los desarrolladores establecer un tiempo de espera del servidor RPC que impide que un subproceso se convierta en cautivo en un servidor RPC que no responde. Esta característica evita que los desarrolladores cancelen explícitamente una llamada a un servidor RPC que no responde. El cliente RPC restablece la supervisión del temporizador para el tiempo de espera al recibir cada paquete. Si el tiempo de espera expira sin recibir un paquete del servidor, el cliente RPC devuelve RPC_S_CALL_CANCELLED. Tenga en cuenta que el servidor RPC todavía puede ejecutar una llamada, aunque el cliente descartará la respuesta.
Establezca OptionValue en INFINITE o cero para un tiempo de espera infinito. No cambie esta opción desde otro subproceso mientras una llamada está en curso. No intente reintentar una llamada cancelada; esto aumenta la carga en el servidor que ya no responde. La característica de tiempo de espera de la llamada RPC solo es útil para las llamadas RPC sincrónicas orientadas a la conexión, como las realizadas en secuencias de protocolo ncacn_* . En el caso de las llamadas RPC locales, asincrónicas o de datagramas, esta opción se omite en tiempo de ejecución de RPC.
La característica de tiempo de espera de llamadas RPC es útil en muchas situaciones, como las actualizaciones de la interfaz de usuario que, de lo contrario, esperarían a que el servidor RPC ocupado responda (dejando al usuario viendo un reloj de arena) o cuando muchos servidores RPC pueden atender una solicitud, lo que permite a los clientes identificar y omitir servidores que no responden más rápidamente.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 Professional [aplicaciones de escritorio | Aplicaciones para UWP] |
Servidor mínimo compatible | Windows 2000 Server [aplicaciones de escritorio | Aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | rpcdce.h (include Rpc.h) |
Library | Rpcrt4.lib |
Archivo DLL | Rpcrt4.dll |