Share via


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
RPC_S_OK
La llamada se realizó correctamente.
RPC_S_CANNOT_SUPPORT
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.
 
Nota Para obtener una lista de códigos de error válidos, vea Rpc Return Values.
 

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

Consulte también

Rpc Message Queue Queue Server

RpcBindingInqAuthClient

RpcBindingInqOption

RpcBindingSetAuthInfo

message