CoSetCancelObject, fonction (combaseapi.h)
Définit (inscrit) ou réinitialise (désinscrit) un objet cancel pour l’utiliser lors des opérations d’annulation suivantes sur le thread actif.
Syntaxe
HRESULT CoSetCancelObject(
[in, optional] IUnknown *pUnk
);
Paramètres
[in, optional] pUnk
Pointeur vers l’interface IUnknown sur l’objet cancel à définir ou réinitialiser sur le thread actif. Si ce paramètre a la valeur NULL, l’objet cancel le plus haut est réinitialisé.
Valeur retournée
Cette fonction peut retourner les valeurs de retour standard E_FAIL, E_INVALIDARG, E_OUTOFMEMORY et E_UNEXPECTED, ainsi que les valeurs suivantes.
Code de retour | Description |
---|---|
|
L’objet cancel a été correctement défini ou réinitialisé. |
|
L’objet cancel ne peut pas être défini ou réinitialisé pour le moment en raison d’un blocage sur les opérations d’annulation. |
Remarques
Pour les objets qui prennent en charge le marshaling standard, l’objet proxy commence à marshaler un appel de méthode en appelant CoSetCancelObject pour inscrire un objet cancel pour le thread actif.
CoSetCancelObject appelle QueryInterface pour ICancelMethodCalls sur l’objet cancel. Si l’objet cancel n’implémente pas ICancelMethodCalls, CoSetCancelObject échoue avec E_NOINTERFACE. Pour désactiver les opérations d’annulation sur une interface marshalée personnalisée, l’implémentation de ICancelMethodCalls ::Cancel ne doit faire que retourner E_NOTIMPL, E_FAIL ou une autre valeur appropriée.
CoSetCancelObject appelle AddRef sur les objets qu’il inscrit et Release sur les objets qu’il désinscrit.
CoSetCancelObject ne définit ni ne réinitialise les objets d’annulation pour les méthodes asynchrones.
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 | combaseapi.h (inclure Objbase.h) |
Bibliothèque | Ole32.lib |
DLL | Ole32.dll |