Compartir a través de


Constantes de opción de enlace

Las aplicaciones establecen las constantes de opción de enlace para controlar cómo la biblioteca en tiempo de ejecución RPC procesa las llamadas a procedimientos remotos. En la tabla siguiente se enumeran cada propiedad de enlace y los valores constantes pertinentes para las propiedades de enlace.

Nota

Todas las opciones de cola de mensajes (MQ) de la tabla siguiente son válidas solo para Windows 2000. Windows XP y versiones posteriores no admiten colas de mensajes. No se recomienda a los desarrolladores usar colas de mensajes.

Constante o valor Descripción
RPC_C_OPT_BINDING_NONCAUSAL
9
Predeterminada. Si es FALSE, la ordenación de llamadas causales. Las llamadas RPC se ejecutan en orden estricto de envío. Vea la sección Comentarios.
Si es TRUE, la ordenación de llamadas nocausal. Las llamadas RPC se ejecutan de forma independiente. Vea la sección Comentarios.
RPC_C_OPT_MAX_OPTIONS
17
No es necesario para programas de aplicación. Se usa internamente por Microsoft.
RPC_C_DONT_FAIL
4
No es necesario para programas de aplicación. Se usa internamente por Microsoft.
RPC_C_OPT_SESSION_ID
6
Si es TRUE, se genera un identificador de sesión para cada conexión.
RPC_C_OPT_COOKIE_AUTH
7
Si es TRUE, se usa la autenticación basada en cookies del lado cliente para las conexiones. Se pasa un puntero a la estructura RPC_C_OPT_COOKIE_AUTH_DESCRIPTOR como parámetro OptionValue en RpcBindingSetOption.
RPC_C_OPT_RESOURCE_TYPE_UUID
8
No es necesario para programas de aplicación. Se usa internamente por Microsoft.
RPC_C_OPT_DONT_LINGER
13
Si es TRUE, se libera el apagado de la asociación después del último identificador de enlace o identificador de contexto.
RPC_C_OPT_UNIQUE_BINDING
11
Cuando se establece en true, RPC no reutiliza las conexiones existentes. Se abre un identificador de enlace único para cada conexión y el estado se mantiene para cada identificador de enlace único.

Comentarios

De forma predeterminada, la biblioteca en tiempo de ejecución rpc ejecuta las llamadas en un identificador de enlace determinado desde cada subproceso de una aplicación en orden estricto de envío. Esto no garantiza que las llamadas de subprocesos diferentes en el mismo identificador de enlace se serialicen. Las aplicaciones multiproceso deben serializar sus llamadas RPC. Si este comportamiento es demasiado restrictivo, puede habilitar la ordenación nocausal. Cuando lo hace, la biblioteca en tiempo de ejecución rpc ejecuta llamadas de forma independiente. No impone ninguna orden sobre su envío.

Un ejemplo de una aplicación que podría encontrar útil la ordenación nocausal es un programa multiproceso cuyos subprocesos realizan llamadas en el mismo identificador de enlace. Del mismo modo, un programa que usa varias llamadas asincrónicas en un identificador de enlace encontrará una opción nocausal de ordenación. Otro ejemplo podría ser un programa proxy de Internet que usa un único subproceso para controlar las solicitudes de varios clientes. En cada uno de estos casos, sería extremadamente restrictivo intentar serializar las llamadas a procedimientos remotos.

La opción RPC_C_OPT_DONT_LINGER solo se puede establecer en identificadores de enlace que usan las secuencias de protocolo ncalrpc o ncacn_* . No se puede usar en secuencias de protocolo ncadg_* . Se debe llamar a la función RpcBindingSetOption con esta opción en un identificador de enlace en el que se ha realizado al menos una llamada RPC. Si no se ha realizado ninguna llamada RPC en el identificador de enlace, RPC_S_WRONG_KIND_OF_BINDING se devuelve desde la llamada a la función RpcBindingSetOption . La opción surte efecto para toda la asociación, independientemente del número de identificadores de enlace que se adjunten a la asociación. Puesto que se comprueba antes de que se destruya la asociación, se puede establecer en cualquier momento antes de que se cierre el identificador de enlace.

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]
Encabezado
Rpcdce.h;
Rpcdcep.h

Consulte también

RpcBindingSetOption

RpcBindingInqOption

Administración de conjuntos de conexiones de red (asociaciones)