Partager via


Fonction RpcRevertToSelfEx (rpcdce.h)

La fonction RpcRevertToSelfEx permet à un serveur d’emprunter l’identité d’un client, puis de rétablir dans une opération multithread où l’appel à emprunter l’identité d’un client peut provenir d’un thread autre que le thread initialement distribué à partir du RPC.

Syntaxe

RPC_STATUS RpcRevertToSelfEx(
  RPC_BINDING_HANDLE BindingHandle
);

Paramètres

BindingHandle

Handle de liaison sur le serveur qui représente une liaison au client que le serveur a impersonné. La valeur zéro spécifie le handle client du thread actif ; dans ce cas, les fonctionnalités de RpcRevertToSelfEx sont identiques à celles de la fonction RpcRevertToSelf .

Valeur retournée

Valeur Signification
RPC_S_OK
L’appel a réussi.
RPC_S_NO_CALL_ACTIVE
Le serveur n’a pas de client à emprunter l’identité.
RPC_S_INVALID_BINDING
Handle de liaison non valide.
RPC_S_WRONG_KIND_OF_BINDING
Il s’agit du mauvais type de liaison pour cette opération.
RPC_S_CANNOT_SUPPORT
L’appel n’est pas pris en charge pour ce système d’exploitation, ce transport ou ce sous-système de sécurité.
 
Note Pour obtenir la liste des codes d’erreur valides, consultez Valeurs de retour RPC.
 

Notes

Après avoir appelé RpcImpersonateClient et effectué toutes les tâches qui nécessitent l’emprunt d’identité du client, le serveur appelle RpcRevertToSelfEx pour mettre fin à l’emprunt d’identité et rétablir sa propre identité de sécurité. Par exemple, considérez un thread principal, appelé thread1, qui est distribué à partir d’un client distant et met en éveil un thread de travail, appelé thread2. Si thread2 nécessite que le serveur emprunte l’identité du client, le serveur appelle RpcImpersonateClient(THREAD1_CALL_HANDLE), effectue la tâche requise, appelle RpcRevertToSelfEx(THREAD1_CALL_HANDLE) pour mettre fin à l’emprunt d’identité, puis réveille thread1.

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

Emprunt d'identité de client

RpcImpersonateClient

RpcRevertToSelf