Fonction NtCancelIoFile
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 d’un autre thread, utilisez la fonction NtCancelIoFileEx .
Notes
Cette fonction est l’équivalent en mode utilisateur de la fonction CancelIo Win32.
Syntaxe
BOOL WINAPI NtCancelIoFile(
_In_ HANDLE hFile
);
Paramètres
hFile [in]
Descripteur du fichier.
La fonction annule toutes les opérations d’E/S en attente pour ce descripteur de fichier.
Retours
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 handle de fichier spécifié et qu’elles sont émises par le thread appelant, la fonction NtCancelIoFile les annule. NtCancelIoFile 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 vous appuyer 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 NtCancelIoFile . L’appel de la fonction NtCancelIoFile 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.
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 |
---|---|
En-tête |
|
Bibliothèque |
|