Función BuildIoRingCancelRequest (ioringapi.h)

Intenta cancelar una operación de anillo de E/S enviada anteriormente.

Sintaxis

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

Parámetros

ioRing

Un HIORING que representa un identificador del anillo de E/S para el que se solicita una cancelación.

file

Un IORING_HANDLE_REF que representa el archivo asociado a la operación que se va a cancelar.

opToCancel

Un UINT_PTR especificando la operación que se va a cancelar. Este valor es el mismo que se proporciona en el parámetro userData cuando se registró la operación. Para admitir la cancelación, el valor userData debe ser único para cada operación.

userData

Valor UINT_PTR que identifica la operación de cancelación. Especifique este valor al cancelar la operación con una llamada a BuildIoRingCancelRequest. Si una aplicación implementa el comportamiento de cancelación para la operación, el valor userData debe ser único. De lo contrario, el sistema trata el valor como opaco y puede ser cualquier cosa, incluido 0.

Valor devuelto

Valor Descripción
S_OK Correcto
IORING_E_SUBMISSION_QUEUE_FULL La cola de envío está llena y no hay entradas adicionales disponibles para la compilación. La aplicación debe enviar las entradas existentes y esperar a que algunas de ellas se completen antes de agregar más operaciones a la cola.
IORING_E_UNKNOWN_REQUIRED_FLAG La aplicación proporcionó una marca necesaria que no se conoce para la implementación. El código de biblioteca debe comprobar el campo IoRingVersion del IORING_INFO obtenido de una llamada a GetIoRingInfo para determinar la versión de api de un anillo de E/S que determina las operaciones y las marcas que se admiten. Las aplicaciones deben conocer la versión que usaron para crear el anillo de E/S y, por lo tanto, no deben proporcionar marcas no admitidas en tiempo de ejecución.

Comentarios

Puesto que las operaciones de anillo de E/S se realizan de forma asincrónica, esta llamada de función es solo una solicitud de cancelación. La operación especificada puede completarse antes de que se procese la cancelación. La operación de cancelación puede completarse una vez completada la operación que está cancelando. La finalización de la operación de cancelación no depende de la finalización real de las operaciones de E/S que cancela. Las aplicaciones deben buscar la finalización de la operación original en la cola de finalización llamando a PopIoRingCompletion para observar el estado final de la operación. La operación puede haberse completado correctamente o con un error en lugar de ser cancelado por la llamada a esta función.

Requisitos

Requisito Value
Cliente mínimo compatible Compilación 22000 de Windows
Servidor mínimo compatible Compilación 22000 de Windows
Encabezado ioringapi.h