Condividi tramite


Funzione BuildIoRingCancelRequest (ioringapi.h)

Tenta di annullare un'operazione di I/O inviata in precedenza.

Sintassi

HRESULT BuildIoRingCancelRequest(
  HIORING           ioRing,
  IORING_HANDLE_REF file,
  UINT_PTR          opToCancel,
  UINT_PTR          userData
);

Parametri

ioRing

Hioring che rappresenta un handle all'anello di I/O per cui viene richiesto un annullamento.

file

IORING_HANDLE_REF che rappresenta il file associato all'operazione da annullare.

opToCancel

Un UINT_PTR che specifica l'operazione da annullare. Questo valore è lo stesso valore specificato nel parametro userData quando l'operazione è stata registrata. Per supportare l'annullamento, il valore userData deve essere univoco per ogni operazione.

userData

Valore UINT_PTR che identifica l'operazione di annullamento. Specificare questo valore quando si annulla l'operazione con una chiamata a BuildIoRingCancelRequest. Se un'app implementa il comportamento di annullamento per l'operazione, il valore userData deve essere univoco. In caso contrario, il valore viene considerato opaco dal sistema e può essere qualsiasi elemento, incluso 0.

Valore restituito

Valore Descrizione
S_OK Operazione riuscita
IORING_E_SUBMISSION_QUEUE_FULL La coda di invio è completa e non sono disponibili voci aggiuntive per la compilazione. L'applicazione deve inviare le voci esistenti e attendere il completamento di alcune di esse prima di aggiungere altre operazioni alla coda.
IORING_E_UNKNOWN_REQUIRED_FLAG L'applicazione ha fornito un flag obbligatorio che non è noto all'implementazione. Il codice della libreria deve controllare il campo IoRingVersion del IORING_INFO ottenuto da una chiamata a GetIoRingInfo per determinare la versione API di un anello di I/O che determina le operazioni e i flag supportati. Le applicazioni devono conoscere la versione usata per creare l'anello di I/O e pertanto non devono fornire flag non supportati in fase di esecuzione.

Commenti

Poiché le operazioni di anello di I/O vengono eseguite in modo asincrono questa chiamata di funzione è solo una richiesta di annullamento. L'operazione specificata può essere completata prima dell'elaborazione dell'annullamento. L'operazione di annullamento può essere completata dopo il completamento dell'operazione. Il completamento dell'operazione di annullamento non dipende dal completamento effettivo delle operazioni di I/O annullate. Le app devono cercare il completamento dell'operazione originale nella coda di completamento chiamando PopIoRingCompletion per osservare lo stato finale dell'operazione. L'operazione potrebbe essere stata completata correttamente o con un errore anziché essere annullata dalla chiamata a questa funzione.

Requisiti

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