Fonction BuildIoRingRegisterBuffers (ioringapi.h)
Inscrit un tableau de mémoires tampons auprès du système pour les futures opérations en anneau d’E/S.
Syntaxe
HRESULT BuildIoRingRegisterBuffers(
HIORING ioRing,
UINT32 count,
IORING_BUFFER_INFO const [] buffers,
UINT_PTR userData
);
Paramètres
ioRing
HIORING représentant un handle de l’anneau d’E/S pour lequel les mémoires tampons sont inscrites.
count
UINT32 spécifiant le nombre de mémoires tampons fournies dans le paramètre buffers .
buffers
Tableau de structures IORING_BUFFER_INFO représentant les mémoires tampons à inscrire.
userData
Valeur UINT_PTR identifiant l’opération d’inscription. 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 pour 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
Retourne un HRESULT incluant, mais sans s’y limiter, les éléments suivants :
Valeur | Description |
---|---|
S_OK | Succès |
IORING_E_SUBMISSION_QUEUE_FULL | La file d’attente de soumission est pleine et aucune entrée supplémentaire n’est disponible pour générer. L’application doit envoyer 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 obligatoire qui n’est pas connu de l’implémentation. Le code de bibliothèque doit case activée le champ IoRingVersion du 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 les indicateurs pris en charge. Les applications doivent connaître la version qu’elles ont utilisée pour créer l’anneau d’E/S et ne doivent donc pas fournir d’indicateurs non pris en charge au moment de l’exécution. |
Notes
Cette fonction permet à l’implémentation du noyau d’effectuer la validation et le mappage interne une seule fois, évitant ainsi la surcharge sur chaque opération d’E/S. Les entrées suivantes de la file d’attente de soumission peuvent faire référence aux mémoires tampons inscrites avec cette fonction à l’aide d’un index entier dans le tableau. S’il existe une inscription précédente, cela remplace complètement l’inscription précédente. Toutes les entrées du tableau avec une adresse NULL et une longueur de 0 sont des entrées éparses et non utilisées. Cela vous permet de libérer une ou plusieurs des mémoires tampons précédemment inscrites.
Configuration requise
Client minimal pris en charge | Windows Build 22000 |
Serveur minimal pris en charge | Windows Build 22000 |
En-tête | ioringapi.h |
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour