Partager via


Fonction CancelIo

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 handle de fichier.

Pour annuler les opérations d’E/S à partir d’un autre thread, utilisez la fonction CancelIoEx .

Syntaxe

BOOL WINAPI CancelIo(
  _In_ HANDLE hFile
);

Paramètres

hFile [in]

Handle du fichier.

La fonction annule toutes les opérations d’E/S en attente pour ce handle 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 handle de fichier spécifié a été demandée avec succès. 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 zéro (0). Pour obtenir des informations d’erreur étendues, appelez la fonction GetLastError .

Notes

Si des opérations d’E/S en attente sont en cours pour le handle 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 handle, il ne modifie pas l’état du handle ; cela signifie que vous ne pouvez pas compter sur l’état du handle, 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 pas pour permettre au thread d’appeler la fonction CancelIo . L’appel de la fonction CancelIo avec un handle de fichier qui n’est pas ouvert avec FILE_FLAG_OVERLAPPED ne fait rien.

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.

Technology Prise en charge
Protocole SMB (Server Message Block) 3.0
Oui
Basculement transparent (TFO) SMB 3.0
Oui
SMB 3.0 avec partages de fichiers avec montée en puissance sortante (SO)
Oui
Cluster Shared Volume File System (CsvFS)
Oui
Système de fichiers résilient (ReFS)
Oui

Spécifications

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]
En-tête
IoAPI.h (inclure Windows.h) ;
WinBase.h sur Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP (y compris Windows.h)
Bibliothèque
Kernel32.lib
DLL
Kernel32.dll

Voir aussi

CancelIoEx

CancelSynchronousIo

CreateFile

DeviceIoControl

Fonctions de gestion de fichiers

LockFileEx

ReadDirectoryChangesW

ReadFile

ReadFileEx

E/S synchrones et asynchrones

WriteFile

WriteFileEx