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 |