Condividi tramite


Funzione SetIoRingCompletionEvent (ioringapi.h)

Registra un evento della coda di completamento con un anello di I/O.

Sintassi

HRESULT SetIoRingCompletionEvent(
  HIORING ioRing,
  HANDLE  hEvent
);

Parametri

ioRing

HiORING che rappresenta un handle per l'anello di I/O per il quale viene registrato l'evento di completamento.

hEvent

Handle per l'oggetto evento. La funzione CreateEvent o OpenEvent restituisce questo handle.

Valore restituito

Restituisce un valore HRESULT, inclusi i valori seguenti:

Valore Descrizione
S_OK Operazione riuscita
E_INVALID_HANDLE Un handle non valido è stato passato nel parametro ioRing .
E_INVALIDARG È stato passato un handle non valido nel parametro hEvent .

Commenti

Il kernel segnalerà questo evento quando inserisce la prima voce in una coda di completamento vuota, ovvero il kernel imposta l'evento solo sullo stato segnalato quando la coda di completamento passa dallo stato vuoto a quello non vuoto. Le applicazioni devono chiamare PopIoRingCompletion fino a quando non indica più voci e quindi attendere il completamento di eventuali completamenti asincroni aggiuntivi tramite l'HANDLE fornito. In caso contrario, l'evento non entra nello stato segnalato e l'attesa può bloccare fino a quando non si verifica un timeout o per sempre se viene usato un timeout infinito.

Il kernel duplica internamente l'handle, quindi è sicuro che l'applicazione chiuda l'handle quando le attese non sono più necessarie. Se si specifica un valore di handle di evento NULL, è sufficiente cancellare qualsiasi valore esistente. L'impostazione di un valore di INVALID_HANDLE_VALUE genera un errore, come qualsiasi altro valore di handle non valido, per facilitare il rilevamento dei bug del codice in anticipo.

Al massimo è presente un handle di eventi associato a un HIORING, il tentativo di impostare un secondo sostituirà qualsiasi elemento già esistente.

Requisiti

   
Client minimo supportato Windows Build 22000
Server minimo supportato Windows Build 22000
Intestazione ioringapi.h

Vedi anche

PopIoRingCompletion