Compartir a través de


RPC_BINDING_HANDLE

El tipo de datos RPC_BINDING_HANDLE declara un identificador de enlace que contiene información que usa la biblioteca en tiempo de ejecución de RPC para acceder a la información de enlace.

typedef I_RPC_HANDLE RPC_BINDING_HANDLE;

Comentarios

La biblioteca en tiempo de ejecución usa información de enlace para establecer una relación cliente-servidor que permita la ejecución de llamadas a procedimientos remotos. En función del contexto en el que se crea un identificador de enlace, se considera un identificador de enlace de servidor o un identificador de enlace de cliente.

Un identificador de enlace de servidor contiene la información necesaria para que un cliente establezca una relación con un servidor específico. Cualquier número de rutinas en tiempo de ejecución de la API rpc devuelve un identificador de enlace de servidor que se puede usar para realizar una llamada a procedimiento remoto.

No se puede usar un identificador de enlace de cliente para realizar una llamada a procedimiento remoto. La biblioteca en tiempo de ejecución rpc crea y proporciona un identificador de enlace de cliente a un procedimiento llamado-servidor (también denominado rutina de administrador de servidores) como parámetro RPC_BINDING_HANDLE. El identificador de enlace de cliente contiene información sobre el cliente que realiza la llamada.

Las funciones RpcBinding* y RpcNsBinding* devuelven el código de estado RPC_S_WRONG_KIND_OF_BINDING cuando una aplicación proporciona el tipo de identificador de enlace incorrecto.

Una aplicación puede compartir un único identificador de enlace en varios subprocesos de ejecución. La biblioteca en tiempo de ejecución rpc administra llamadas simultáneas a procedimientos remotos que usan un único identificador de enlace. Sin embargo, la aplicación es responsable de enlazar el control de simultaneidad de las operaciones que modifican un identificador de enlace. Estas operaciones incluyen las siguientes rutinas:

Por ejemplo, si una aplicación comparte un identificador de enlace entre dos subprocesos de ejecución y restablece el punto de conexión de identificador de enlace en uno de los subprocesos mediante una llamada a RpcBindingReset, los resultados no están definidos. El identificador de enlace en el otro subproceso también se puede restablecer o se puede producir un error en la operación o el proceso puede bloquearse. Un error común es liberar un identificador de enlace mientras hay una llamada en curso; Esto normalmente bloquea el proceso de llamada.

Si no desea simultaneidad, puede diseñar una aplicación para crear una copia de un identificador de enlace mediante una llamada a RpcBindingCopy. En este caso, una operación en el primer identificador de enlace no tiene ningún efecto en el segundo identificador de enlace.

Las rutinas que requieren un identificador de enlace como parámetro muestran un tipo de datos de RPC_BINDING_HANDLE. Los parámetros de identificador de enlace se pasan por valor.

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 (incluya Rpc.h)