Função BuildIoRingCancelRequest (ioringapi.h)
Tenta cancelar uma operação de anel de E/S enviada anteriormente.
Sintaxe
HRESULT BuildIoRingCancelRequest(
HIORING ioRing,
IORING_HANDLE_REF file,
UINT_PTR opToCancel,
UINT_PTR userData
);
Parâmetros
ioRing
Um HIORING que representa um identificador para o anel de E/S para o qual um cancelamento é solicitado.
file
Um IORING_HANDLE_REF que representa o arquivo associado à operação a ser cancelada.
opToCancel
Um UINT_PTR especificando a operação a ser cancelada. Esse valor é o mesmo valor fornecido no parâmetro userData quando a operação foi registrada. Para dar suporte ao cancelamento, o valor userData deve ser exclusivo para cada operação.
userData
Um valor UINT_PTR que identifica a operação de cancelamento. Especifique esse valor ao cancelar a operação com uma chamada para BuildIoRingCancelRequest. Se um aplicativo implementar o comportamento de cancelamento para a operação, o valor userData deverá ser exclusivo. Caso contrário, o valor é tratado como opaco pelo sistema e pode ser qualquer coisa, incluindo 0.
Valor retornado
Valor | Descrição |
---|---|
S_OK | Êxito |
IORING_E_SUBMISSION_QUEUE_FULL | A fila de envio está cheia e nenhuma entrada adicional está disponível para compilação. O aplicativo deve enviar as entradas existentes e aguardar a conclusão de algumas delas antes de adicionar mais operações à fila. |
IORING_E_UNKNOWN_REQUIRED_FLAG | O aplicativo forneceu um sinalizador necessário que não é conhecido pela implementação. O código de biblioteca deve marcar o campo IoRingVersion do IORING_INFO obtido de uma chamada para GetIoRingInfo para determinar a versão da API de um anel de E/S que determina as operações e sinalizadores com suporte. Os aplicativos devem saber a versão usada para criar o anel de E/S e, portanto, não devem fornecer sinalizadores sem suporte no runtime. |
Comentários
Como as operações de anel de E/S são executadas de forma assíncrona, essa chamada de função é apenas uma solicitação de cancelamento. A operação especificada pode ser concluída antes que o cancelamento seja processado. A operação de cancelamento pode ser concluída após a conclusão da operação que está sendo cancelada. A conclusão da operação de cancelamento não depende da conclusão real das operações de E/S que ela cancela. Os aplicativos devem procurar a conclusão da operação original na fila de conclusão chamando PopIoRingCompletion para observar o status final da operação. A operação pode ter sido concluída com êxito ou com um erro em vez de ser cancelada pela chamada para essa função.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Build 22000 |
Servidor mínimo com suporte | Windows Build 22000 |
Cabeçalho | ioringapi.h |