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.
Inscrit un tableau de mémoires tampons auprès du système pour les futures opérations 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 vers 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 de mémoires tampons .
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 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
Retourne un HRESULT, y compris, mais pas limité aux éléments suivants :
| 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
Cette fonction permet à l’implémentation du noyau d’effectuer la validation et le mappage interne une seule fois, ce qui évite la surcharge sur chaque opération d’E/S. Les entrées suivantes dans 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. Si une inscription précédente existe, 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 éparses et ne sont pas utilisées. Cela vous permet de libérer une ou plusieurs des mémoires tampons précédemment inscrites.
Spécifications
| Requirement | Valeur |
|---|---|
| Client minimum requis | Windows Build 22000 |
| Serveur minimal pris en charge | Windows Build 22000 |
| Header | ioringapi.h |
| Library | noyau32. Lib |