Partager via


Fonction RpcBindingServerFromClient (rpcdce.h)

Une application appelle RpcBindingServerFromClient pour convertir un handle de liaison client en un handle de liaison de serveur partiellement lié.

Syntaxe

RPC_STATUS RpcBindingServerFromClient(
  RPC_BINDING_HANDLE ClientBinding,
  RPC_BINDING_HANDLE *ServerBinding
);

Paramètres

ClientBinding

Handle de liaison client à convertir en handle de liaison de serveur. Si la valeur zéro est spécifiée, le serveur emprunte l’identité du client pris en charge par ce thread de serveur.

Note Ce paramètre ne peut pas avoir la valeur NULL dans Windows NT 4.0.
 

ServerBinding

Retourne un handle de liaison de serveur.

Valeur retournée

Valeur Signification
RPC_S_OK
L’appel a réussi.
RPC_S_INVALID_BINDING
Le handle de liaison n’était pas valide.
RPC_S_WRONG_KIND_OF_BINDING
Il s’agissait du mauvais type de liaison pour l’opération.
RPC_S_CANNOT_SUPPORT
Impossible de déterminer l’hôte du client. Consultez Remarques pour obtenir la liste des séquences de protocoles prises en charge.
 
Note Pour obtenir la liste des codes d’erreur valides, consultez Valeurs de retour RPC.
 

Notes

Les séquences de protocoles suivantes prennent en charge RpcBindingServerFromClient :

Une application obtient un handle de liaison client à partir de l’exécution RPC. Lorsque l’appel de procédure distante arrive sur un serveur, l’exécution crée un handle de liaison client qui contient des informations sur le client appelant. L’exécution transmet ce handle à la fonction gestionnaire de serveur comme premier argument.

L’appel de RpcBindingServerFromClient convertit ce handle client en un handle de serveur qui possède les propriétés suivantes :

  • Le handle de serveur est un handle partiellement lié. Il contient une adresse réseau pour le client appelant, mais il ne contient pas de point de terminaison.
  • Le handle de serveur contient l’UUID d’objet utilisé par le client appelant. Il peut s’agir de l’UUID nul. Pour plus d’informations sur la façon dont un client spécifie un UUID d’objet pour un appel, consultez RpcBindingsetObject, RpcNsBindingImportBegin, RpcNsBindingLookupBegin et RpcBindingFromStringBinding.
  • Le handle de serveur ne contient aucune information d’authentification.
L’application serveur doit appeler RpcBindingFree pour libérer les ressources utilisées par le handle de liaison de serveur une fois qu’elle n’est plus nécessaire.
Note Pour interroger l’adresse d’un client, une application commence par appeler la fonction RpcBindingServerFromClient pour obtenir un handle de liaison de serveur partiellement lié. Le handle de liaison de serveur peut être utilisé pour obtenir une liaison de chaîne en appelant RpcBindingToStringBinding. Le serveur peut ensuite appeler RpcStringBindingParse pour extraire l’adresse réseau du client à partir de la liaison de chaîne.
 

Spécifications

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête rpcdce.h (inclure Rpc.h)
Bibliothèque Rpcrt4.lib
DLL Rpcrt4.dll

Voir aussi

RpcBindingFree

RpcBindingFromStringBinding

RpcBindingSetObject

RpcEpRegister

RpcEpRegisterNoReplace

RpcNsBindingImportBegin

RpcNsBindingLookupBegin