Partager via


Fonction CoCancelCall (combaseapi.h)

Demande l’annulation d’un appel de méthode DCOM sortant en attente sur un thread spécifié.

Syntaxe

HRESULT CoCancelCall(
  [in] DWORD dwThreadId,
  [in] ULONG ulTimeout
);

Paramètres

[in] dwThreadId

Identificateur du thread sur lequel l’appel DCOM en attente doit être annulé. Si ce paramètre est 0, l’appel se trouve sur le thread actif.

[in] ulTimeout

Nombre de secondes que CoCancelCall attend que le serveur termine l’appel sortant après l’annulation du client.

Valeur retournée

Cette fonction peut retourner les valeurs de retour standard E_FAIL, E_OUTOFMEMORY et E_UNEXPECTED, ainsi que les valeurs suivantes.

Code de retour Description
S_OK
La demande d’annulation a été effectuée.
E_NOINTERFACE
Il n’existe aucun objet cancel correspondant au thread spécifié.
CO_E_CANCEL_DISABLED
L’annulation d’appel n’est pas activée sur le thread spécifié.
RPC_E_CALL_COMPLETE
L’appel a été terminé pendant l’intervalle de délai d’attente.
RPC_E_CALL_CANCELED
L’appel a déjà été annulé.

Remarques

CoCancelCall appelle CoGetCancelObject , puis ICancelMethodCalls::Cancel sur l’objet cancel pour l’appel en cours d’exécution.

Cette fonction ne localise pas les objets d’annulation pour les appels asynchrones.

Le serveur d’objets peut déterminer si l’appel a été annulé en appelant régulièrement CoTestCancel. Si l’appel a été annulé, le serveur d’objets doit propre et retourner le contrôle au client.

Configuration requise

   
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 combaseapi.h (inclure Objbase.h)
Bibliothèque Ole32.lib
DLL Ole32.dll

Voir aussi

CoTestCancel