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 é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 à 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, y compris les valeurs suivantes :
| Valeur | Descriptif |
|---|---|
| S_OK | Success |
| 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 . |
Remarques
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 uniquement l’événement à l’état signalé 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’elle indique plus d’entrées, puis attendent que des achèvements asynchrones supplémentaires soient terminés via le HANDLE fourni. Dans le cas contraire, l’événement n’entre pas dans l’état signalé et l’attente peut bloquer jusqu’à ce qu’un délai d’expiration se produise ou pour toujours si un délai d’attente infini est utilisé.
Le noyau dupliquera en interne le handle. Il est donc sûr que l’application ferme le handle lorsque les attentes ne sont plus nécessaires. La fourniture d’une valeur de handle d’événement null efface simplement n’importe quelle 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 plus, un handle d’événement associé à un HIORING, qui tente de définir une seconde remplacera tout élément qui existe déjà.
Spécifications
| Requirement | Valeur |
|---|---|
| Client minimum requis | Windows Build 22000 |
| Serveur minimal pris en charge | Windows Build 22000 |
| Header | ioringapi.h |
| Library | noyau32. Lib |