Partager via


RPC_BINDING_HANDLE

Le type de données RPC_BINDING_HANDLE déclare un handle de liaison contenant des informations que la bibliothèque d’exécution RPC utilise pour accéder aux informations de liaison.

typedef I_RPC_HANDLE RPC_BINDING_HANDLE;

Notes

La bibliothèque d’exécution utilise des informations de liaison pour établir une relation client-serveur qui permet l’exécution d’appels de procédure distante. En fonction du contexte dans lequel un handle de liaison est créé, il est considéré comme un handle de liaison de serveur ou un handle de liaison client.

Un handle de liaison de serveur contient les informations nécessaires à un client pour établir une relation avec un serveur spécifique. Un nombre quelconque de routines d’exécution de l’API RPC retournent un handle de liaison de serveur qui peut être utilisé pour effectuer un appel de procédure distante.

Un handle de liaison client ne peut pas être utilisé pour effectuer un appel de procédure distante. La bibliothèque d’exécution RPC crée et fournit un handle de liaison client à une procédure de serveur appelée (également appelée routine de gestionnaire de serveur) en tant que paramètre RPC_BINDING_HANDLE. Le handle de liaison client contient des informations sur le client appelant.

Les fonctions RpcBinding* et RpcNsBinding* retournent le code status RPC_S_WRONG_KIND_OF_BINDING lorsqu’une application fournit le type de handle de liaison incorrect.

Une application peut partager un handle de liaison unique sur plusieurs threads d’exécution. La bibliothèque d’exécution RPC gère les appels de procédure distante simultanée qui utilisent un handle de liaison unique. Toutefois, l’application est responsable du contrôle d’accès concurrentiel de handle de liaison pour les opérations qui modifient un handle de liaison. Ces opérations incluent les routines suivantes :

Par exemple, si une application partage un handle de liaison entre deux threads d’exécution et réinitialise le point de terminaison binding-handle dans l’un des threads en appelant RpcBindingReset, les résultats ne sont pas définis. Le handle de liaison sur l’autre thread peut également être réinitialisé, ou l’opération peut échouer, ou le processus peut se bloquer. Une erreur courante est la libération d’un handle de liaison pendant qu’un appel sur celui-ci est en cours ; cela bloque généralement le processus d’appel.

Si vous ne souhaitez pas l’accès concurrentiel, vous pouvez concevoir une application pour créer une copie d’un handle de liaison en appelant RpcBindingCopy. Dans ce cas, une opération sur le premier handle de liaison n’a aucun effet sur le deuxième handle de liaison.

Les routines nécessitant un handle de liaison en tant que paramètre affichent un type de données de RPC_BINDING_HANDLE. Les paramètres de handle de liaison sont passés par valeur.

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge
Windows 2000 Server [applications de bureau uniquement]
En-tête
Rpcdce.h (inclure Rpc.h)