Partager via


Fonction RpcCancelThread (rpcdce.h)

La fonction RpcCancelThread annule un thread. La fonction RpcCancelThread ne doit pas être utilisée pour annuler des appels RPC asynchrones ; à la place, utilisez la fonction RpcAsyncCancelCall pour annuler un appel RPC asynchrone.

Syntaxe

RPC_STATUS RpcCancelThread(
  void *Thread
);

Paramètres

Thread

Gérer le thread à annuler.

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 client MS-DOS ou Windows 3.x.
 
Note Pour obtenir la liste des codes d’erreur valides, consultez Valeurs de retour RPC.
 

Notes

La fonction RpcCancelThread 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.

La fonction RpcCancelThread ne peut pas être utilisée pour annuler un appel qui a émis un rappel statique. N’annulez pas les appels de procédure distante susceptibles d’appeler une fonction déclarée avec l’attribut [rappel] dans le fichier IDL.

Par défaut, le client attend toujours que le serveur retourne le contrôle après une annulation. Pour réduire ce temps, appelez RpcMgmtSetCancelTimeout, en spécifiant 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_FAILED . 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é.

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

Note Windows XP/2000 La fonction RpcCancelThread n’est pas disponible pour ncacn_http. La fonction RpcCancelThread prend en charge ncacn_http sur les systèmes d’exploitation Windows Server 2003 ou ultérieurs et Windows XP avec Service Pack 1 (SP1) et versions ultérieures.

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

RpcTestCancel

ncacn_http

ncadg_mq

ncalrpc