Função CancelIo (ioapiset.h)

Cancela todas as operações de E/S (entrada e saída) pendentes que são emitidas pelo thread de chamada para o arquivo especificado. A função não cancela operações de E/S que outros threads emitem para um identificador de arquivo.

Para cancelar operações de E/S de outro thread, use a função CancelIoEx.

Sintaxe

BOOL CancelIo(
  [in] HANDLE hFile
);

Parâmetros

[in] hFile

Um manipulador para o arquivo.

A função cancela todas as operações de E/S pendentes para esse identificador de arquivo.

Valor retornado

Se a função for bem-sucedida, o valor retornado será diferente de zero. A operação de cancelamento de todas as operações de E/S pendentes emitidas pela thread de chamada para o identificador de arquivo especificado foi solicitada com êxito. O thread pode usar a função GetOverlappedResult para determinar quando as próprias operações de E/S foram concluídas.

Se a função falhar, o valor retornado será 0 (zero). Para obter informações de erro estendidas, chame a função GetLastError.

Comentários

Se houver operações de E/S pendentes em andamento para o identificador de arquivo especificado e elas forem emitidas pelo thread de chamada, a função CancelIo as cancelará. CancelIo cancela apenas as E/S pendentes no identificador, ela não altera o estado do identificador e isso significa que você não pode confiar no estado do identificador porque não sabe se a operação foi concluída com êxito ou cancelada.

As operações de E/S devem ser emitidas como E/S sobrepostas. Se não estiverem, as operações de E/S não retornarão para permitir que o thread chame a função CancelIo. Chamar a função CancelIo com um identificador de arquivo que não é aberto com FILE_FLAG_OVERLAPPED não faz nada.

Todas as operações de E/S canceladas são concluídas com o erro ERROR_OPERATION_ABORTED e todas as notificações de conclusão para as operações de E/S ocorrem normalmente.

No Windows 8 e Windows Server 2012, essa função é compatível com as tecnologias a seguir.

Tecnologia Com suporte
Protocolo SMB (SMB) 3.0 Sim
TFO (Failover transparente) do SMB 3.0 Sim
SMB 3.0 com compartilhamentos de arquivos de expansão (SO) Sim
Sistema de arquivos de Volume Compartilhado Clusterizado (CsvFS) Sim
ReFS (Sistema de Arquivos Resiliente) Sim

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [aplicativos da área de trabalho | aplicativos UWP]
Servidor mínimo com suporte Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho ioapiset.h (inclua Windows.h)
Biblioteca Kernel32.lib
DLL Kernel32.dll

Confira também

CancelIoEx

CancelSynchronousIo

CreateFile

DeviceIoControl

Funções de gerenciamento de arquivos

LockFileEx

ReadDirectoryChangesW

ReadFile

ReadFileEx

E/S síncrona e assíncrona

WriteFile

WriteFileEx