Partager via


Fonction RpcCancelThreadEx (rpcdce.h)

La fonction RpcCancelThreadEx arrête l’exécution d’un thread. La fonction RpcCancelThreadEx ne doit pas être utilisée pour arrêter l’exécution d’un appel RPC asynchrone ; à la place, utilisez la fonction RpcAsyncCancelCall pour arrêter l’exécution d’un appel RPC asynchrone.

Syntaxe

RPC_STATUS RpcCancelThreadEx(
  void *Thread,
  long Timeout
);

Paramètres

Thread

Gérer le thread à annuler.

Timeout

Nombre de secondes à attendre que le thread soit annulé avant que cette fonction ne retourne. Pour spécifier qu’un client attend une durée indéfinie, passez la valeur RPC_C_CANCEL_INFINITE_TIMEOUT.

Valeur retournée

Valeur Signification
RPC_S_OK
L’appel a réussi.
RPC_S_ACCESS_DENIED
Le handle de thread n’a pas de privilèges. Les handles de thread doivent avoir THREAD_SET_CONTEXT correctement définis pour que la fonction s’exécute correctement.
RPC_S_CANNOT_SUPPORT
Appelé par un MS-DOS ou Windows 3. x client.
 
Note Pour obtenir la liste des codes d’erreur valides, consultez Valeurs de retour RPC.
 

Remarques

La fonction RpcCancelThreadEx permet à un thread client d’annuler un RPC en cours sur un autre thread client. Lorsque la fonction est appelée, l’exécution du serveur est informée de l’opération d’annulation. Le stub du serveur peut déterminer si l’appel a été annulé en appelant RpcTestCancel. Si l’appel a été annulé, le stub du serveur doit propre et retourner le contrôle au client.

À l’aide du paramètre Timeout , votre application peut spécifier le nombre de secondes d’attente d’une réponse. Si le serveur ne retourne pas dans cet intervalle, l’appel échoue au niveau du client avec une exception RPC_S_CALL_CANCELLED. Le stub du serveur continue de s’exécuter.

Si vous utilisez le protocole de canaux nommés, ncacn_np, vous devez spécifier un délai d’attente limité.

Note Vous pouvez utiliser RpcCancelThreadEx avec n’importe quel protocole orienté connexion (ncacn_*) à l’exception de ncacn_http, et avec n’importe quel protocole de datagramme, à l’exception de ncadg_mq et ncalrpc.
 

Configuration requise

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]
Plateforme cible Windows
En-tête rpcdce.h (inclure Rpc.h)
Bibliothèque Rpcrt4.lib
DLL Rpcrt4.dll

Voir aussi

RpcAsyncCancelCallRpcCancelThreadRpcTestCancelncacn_http ncacn_npncadg_mqncalrpc