Partager via


SetIoRingCompletionEvent, fonction (ioringapi.h)

Inscrit un événement de file d’attente d’achèvement avec un anneau d’E/S.

Syntaxe

HRESULT SetIoRingCompletionEvent(
  HIORING ioRing,
  HANDLE  hEvent
);

Paramètres

ioRing

HIORING représentant un handle pour l’anneau d’E/S pour lequel l’événement d’achèvement est inscrit.

hEvent

Handle de l’objet d’événement. La fonction CreateEvent ou OpenEvent retourne ce handle.

Valeur retournée

Retourne un HRESULT incluant les valeurs suivantes :

Valeur Description
S_OK Succès
E_INVALID_HANDLE Un handle non valide a été passé dans le paramètre ioRing .
E_INVALIDARG Un handle non valide a été passé dans le paramètre hEvent .

Notes

Le noyau signale cet événement lorsqu’il place la première entrée dans une file d’attente d’achèvement vide, c’est-à-dire que le noyau définit l’événement à l’état signalé uniquement lorsque la file d’attente d’achèvement passe de l’état vide à l’état non vide. Les applications doivent appeler PopIoRingCompletion jusqu’à ce qu’il n’indique plus d’entrées, puis attendre que les complétions asynchrones supplémentaires se terminent via le HANDLE fourni. Sinon, l’événement n’entrera pas dans l’état signalé et l’attente peut se bloquer jusqu’à ce qu’un délai d’expiration se produise, ou pour toujours si un délai d’expiration infini est utilisé.

Le noyau dupliquera en interne le handle. Il est donc sûr que l’application ferme le handle quand les attentes ne sont plus nécessaires. Fournir une valeur de handle d’événement null efface simplement toute valeur existante. La définition d’une valeur de INVALID_HANDLE_VALUE génère une erreur, comme toute autre valeur de handle non valide, pour faciliter la détection précoce des bogues de code.

Il existe, au maximum, un handle d’événement associé à un HIORING. La tentative d’en définir un deuxième remplacera tout ce qui existe déjà.

Configuration requise

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

Voir aussi

PopIoRingCompletion