Compartilhar via


Função NtCancelIoFile

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 NtCancelIoFileEx .

Observação

Essa função é o equivalente ao modo de usuário da função CancelIo Win32.

Sintaxe

BOOL WINAPI NtCancelIoFile(
  _In_ HANDLE hFile
);

Parâmetros

hFile [in]

Um manipulador para o arquivo.

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

Retornos

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 NtCancelIoFile as cancelará. NtCancelIoFile cancela apenas E/S pendente no identificador, ele não altera o estado do identificador; isso significa que você não pode confiar no estado do identificador porque não pode saber 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 NtCancelIoFile . Chamar a função NtCancelIoFile 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
parâmetro
ntioapi.h
Biblioteca
ntdll.lib

Confira também

CancelIoEx