Fonction CancelIo (ioapiset.h)
Annule toutes les opérations d’entrée et de sortie (E/S) en attente qui sont émises par le thread appelant pour le fichier spécifié. La fonction n’annule pas les opérations d’E/S que d’autres threads émettent pour un descripteur de fichier.
Pour annuler les opérations d’E/S à partir d’un autre thread, utilisez la fonction CancelIoEx.
Syntaxe
BOOL CancelIo(
[in] HANDLE hFile
);
Paramètres
[in] hFile
Descripteur du fichier.
La fonction annule toutes les opérations d’E/S en attente pour ce descripteur de fichier.
Valeur retournée
Si la fonction réussit, la valeur de retour est différente de zéro. L’opération d’annulation de toutes les opérations d’E/S en attente émises par le thread appelant pour le descripteur de fichier spécifié a bien été demandé. Le thread peut utiliser la fonction GetOverlappedResult pour déterminer quand les opérations d’E/S elles-mêmes ont été effectuées.
Si la fonction échoue, la valeur de retour est égale à zéro (0). Pour obtenir des informations détaillées sur l’erreur, appelez la fonction GetLastError.
Notes
Si des opérations d’E/S en attente sont en cours pour le descripteur de fichier spécifié et qu’elles sont émises par le thread appelant, la fonction CancelIo les annule. CancelIo annule uniquement les E/S en attente sur le descripteur, il ne modifie pas l’état du descripteur ; cela signifie que vous ne pouvez pas vous reposer sur l’état du descripteur, car vous ne pouvez pas savoir si l’opération a été terminée avec succès ou annulée.
Les opérations d’E/S doivent être émises en tant qu’E/S qui se chevauchent. Si ce n’est pas le cas, les opérations d’E/S ne retournent rien pour permettre au thread d’appeler la fonction CancelIo. Appeler de la fonction CancelIo avec un descripteur de fichier qui n’est pas ouvert avec FILE_FLAG_OVERLAPPED n’est pas utile.
Toutes les opérations d’E/S annulées se terminent avec l’erreur ERROR_OPERATION_ABORTED, et toutes les notifications d’achèvement pour les opérations d’E/S se produisent normalement.
Dans Windows 8 et Windows Server 2012, cette fonction est prise en charge par les technologies suivantes.
Technologie | Prise en charge |
---|---|
Protocole Server Message Block (SMB) 3.0 | Oui |
Basculement transparent SMB 3.0 (TFO) | Oui |
SMB 3.0 avec partages de fichiers avec montée en puissance parallèle (SO) | Oui |
Système de fichiers du volume partagé de cluster (CsvFS) | Oui |
Système de fichiers résilient (ReFS) | Oui |
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP [applications de bureau | applications UWP] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau | applications UWP] |
Plateforme cible | Windows |
En-tête | ioapiset.h (inclure Windows.h) |
Bibliothèque | Kernel32.lib |
DLL | Kernel32.dll |