Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Tente d’annuler une opération d’anneau d’E/S précédemment envoyée.
Syntaxe
HRESULT BuildIoRingCancelRequest(
HIORING ioRing,
IORING_HANDLE_REF file,
UINT_PTR opToCancel,
UINT_PTR userData
);
Paramètres
ioRing
HIORING représentant un handle à l’anneau d’E/S pour lequel une annulation est demandée.
file
Un IORING_HANDLE_REF représentant le fichier associé à l’opération à annuler.
opToCancel
Une UINT_PTR en spécifiant l’opération à annuler. Cette valeur est la même que celle fournie dans le paramètre userData lors de l’inscription de l’opération. Pour prendre en charge l’annulation, la valeur userData doit être unique pour chaque opération.
userData
Valeur UINT_PTR identifiant l’opération d’annulation. Spécifiez cette valeur lors de l’annulation de l’opération avec un appel à BuildIoRingCancelRequest. Si une application implémente le comportement d’annulation de l’opération, la valeur userData doit être unique. Sinon, la valeur est traitée comme opaque par le système et peut être n’importe quoi, y compris 0.
Valeur retournée
| Valeur | Descriptif |
|---|---|
| S_OK | Success |
| IORING_E_SUBMISSION_QUEUE_FULL | La file d’attente de soumission est complète et aucune entrée supplémentaire n’est disponible pour la génération. L’application doit soumettre les entrées existantes et attendre que certaines d’entre elles se terminent avant d’ajouter d’autres opérations à la file d’attente. |
| IORING_E_UNKNOWN_REQUIRED_FLAG | L’application a fourni un indicateur requis qui n’est pas connu de l’implémentation. Le code de la bibliothèque doit vérifier le champ IoRingVersion de l’IORING_INFO obtenu à partir d’un appel à GetIoRingInfo pour déterminer la version d’API d’un anneau d’E/S qui détermine les opérations et indicateurs pris en charge. Les applications doivent connaître la version utilisée pour créer l’anneau d’E/S et ne doivent donc pas fournir d’indicateurs non pris en charge lors de l’exécution. |
Remarques
Étant donné que les opérations d’anneau d’E/S sont effectuées de façon asynchrone, cet appel de fonction n’est qu’une demande d’annulation. L’opération spécifiée peut se terminer avant le traitement de l’annulation. L’opération d’annulation peut se terminer une fois l’opération annulée. L’achèvement de l’opération d’annulation ne dépend pas de l’achèvement réel des opérations d’E/S qu’elle annule. Les applications doivent rechercher l’achèvement de l’opération d’origine dans la file d’attente d’achèvement en appelant PopIoRingCompletion pour observer l’état final de l’opération. L’opération peut avoir réussi ou avec une erreur plutôt que d’être annulée par l’appel à cette fonction.
Spécifications
| Requirement | Valeur |
|---|---|
| Client minimum requis | Windows Build 22000 |
| Serveur minimal pris en charge | Windows Build 22000 |
| Header | ioringapi.h |
| Library | noyau32. Lib |