BuildIoRingRegisterFileHandles, fonction (ioringapi.h)

Inscrit un tableau de descripteurs de fichiers auprès du système pour les futures opérations en anneau d’E/S.

Syntaxe

HRESULT BuildIoRingRegisterFileHandles(
  HIORING         ioRing,
  UINT32          count,
  HANDLE const [] handles,
  UINT_PTR        userData
);

Paramètres

ioRing

HIORING représentant un handle pour l’anneau d’E/S pour lequel les handles de fichier sont enregistrés.

count

UINT32 spécifiant le nombre de handles fournis dans le paramètre handles .

handles

Tableau de valeurs HANDLE à 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 d’envoi est pleine et aucune entrée supplémentaire n’est disponible pour la génération. 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 requis 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, par conséquent, ne doivent 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, en évitant 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 handles inscrits avec cette fonction à l’aide d’un index entier dans le tableau. Si une inscription précédente existe, cette opération remplace complètement l’inscription précédente.

Configuration requise

   
Client minimal pris en charge Windows Build 22000
Serveur minimal pris en charge Windows Build 22000
En-tête ioringapi.h