CancelIoEx, fonction
Marque toutes les opérations d’E/S en suspens pour le handle de fichier spécifié. La fonction annule uniquement les opérations d’E/S dans le processus actuel, quel que soit le thread qui a créé l’opération d’E/S.
Syntaxe
BOOL WINAPI CancelIoEx(
_In_ HANDLE hFile,
_In_opt_ LPOVERLAPPED lpOverlapped
);
Paramètres
-
hFile [in]
-
Handle pour le fichier.
-
lpOverlapped [in, facultatif]
-
Pointeur vers une structure de données CHEVAUCHEMENT QUI contient les données utilisées pour les E/S asynchrones.
Si ce paramètre a la valeur NULL, toutes les demandes d’E/S pour le paramètre hFile sont annulées.
Si ce paramètre n’est pas NULL, seules les demandes d’E/S spécifiques qui ont été émises pour le fichier avec la structure lpOverlapped spécifiée sont marquées comme annulées, ce qui signifie que vous pouvez annuler une ou plusieurs demandes, tandis que la fonction CancelIo annule toutes les demandes en suspens sur un 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 processus appelant pour le handle de fichier spécifié a été demandée avec succès. L’application ne doit pas libérer ou réutiliser la structure OVERLAPPED associée aux opérations d’E/S annulées tant qu’elles ne sont pas terminées. Le thread peut utiliser la fonction GetOverlappedResult pour déterminer quand les opérations d’E/S elles-mêmes ont été terminées.
Si la fonction échoue, la valeur de retour est 0 (zéro). Pour obtenir des informations d’erreur étendues, appelez la fonction GetLastError .
Si cette fonction ne trouve pas de demande d’annulation, la valeur de retour est 0 (zéro) et GetLastError retourne ERROR_NOT_FOUND.
Notes
La fonction CancelIoEx vous permet d’annuler des demandes dans des threads autres que le thread appelant. La fonction CancelIo annule uniquement les requêtes dans le thread qui a appelé la fonction CancelIo . CancelIoEx 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.
Si des opérations d’E/S en attente sont en cours pour le handle de fichier spécifié, la fonction CancelIoEx les marque pour l’annulation. La plupart des types d’opérations peuvent être annulés immédiatement ; d’autres opérations peuvent se poursuivre jusqu’à leur achèvement avant qu’elles ne soient réellement annulées et que l’appelant soit averti. La fonction CancelIoEx n’attend pas que toutes les opérations annulées se terminent.
Si le handle de fichier est associé à un port d’achèvement, un paquet d’achèvement d’E/S n’est pas mis en file d’attente vers le port si une opération synchrone est annulée avec succès. Pour les opérations asynchrones toujours en attente, l’opération d’annulation met en file d’attente un paquet d’achèvement d’E/S.
L’opération en cours d’annulation est terminée avec l’un des trois états suivants : vous devez case activée l’status d’achèvement pour déterminer l’état d’achèvement. Les trois états sont les suivants :
- L’opération s’est terminée normalement. Cela peut se produire même si l’opération a été annulée, car la demande d’annulation n’a peut-être pas été envoyée à temps pour annuler l’opération.
- L'opération a été annulée. La fonction GetLastError retourne ERROR_OPERATION_ABORTED.
- L’opération a échoué avec une autre erreur. La fonction GetLastError retourne le code d’erreur approprié.
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 SMB 3.0 (TFO) |
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 Vista [applications de bureau | Applications UWP] |
Serveur minimal pris en charge |
Windows Server 2008 [applications de bureau | Applications UWP] |
En-tête |
|
Bibliothèque |
|
DLL |
|