Поделиться через


Функция CancelIo

Отменяет все ожидающие операции ввода-вывода, которые выдаются вызывающим потоком для указанного файла. Функция не отменяет операции ввода-вывода, которые другие потоки выдают для дескриптора файла.

Чтобы отменить операции ввода-вывода из другого потока, используйте функцию CancelIoEx .

Синтаксис

BOOL WINAPI CancelIo(
  _In_ HANDLE hFile
);

Параметры

hFile [in]

Дескриптор файла.

Функция отменяет все ожидающие операции ввода-вывода для этого дескриптора файла.

Возвращаемое значение

Если функция выполняется успешно, возвращается ненулевое значение. Операция отмены для всех ожидающих операций ввода-вывода, выданных вызывающим потоком для указанного дескриптора файла, была успешно запрошена. Поток может использовать функцию GetOverlappedResult для определения завершения самих операций ввода-вывода.

Если функция завершается ошибкой, возвращаемое значение равно нулю (0). Чтобы получить расширенные сведения об ошибке, вызовите функцию GetLastError .

Комментарии

Если для указанного дескриптора файла выполняются какие-либо ожидающие операции ввода-вывода и они выдаются вызывающим потоком, функция CancelIo отменяет их. CancelIo отменяет только невыполненные операции ввода-вывода дескриптора, не изменяя состояние дескриптора; это означает, что нельзя полагаться на состояние дескриптора, так как вы не можете узнать, была ли операция успешно завершена или отменена.

Операции ввода-вывода должны выдаваться как перекрывающиеся операции ввода-вывода. Если это не так, операции ввода-вывода не возвращаются, чтобы разрешить потоку вызывать функцию CancelIo . Вызов функции CancelIo с дескриптором файла, который не открыт с помощью FILE_FLAG_OVERLAPPED , ничего не делает.

Все операции ввода-вывода, отмененные с ошибкой ERROR_OPERATION_ABORTED, а все уведомления о завершении операций ввода-вывода выполняются в обычном режиме.

В Windows 8 и Windows Server 2012 эта функция поддерживается следующими технологиями.

Технология Поддерживается
Протокол SMB 3.0
Да
SMB 3.0 Transparent Failover (TFO)
Да
SMB 3.0 с масштабируемыми общими папками (SO)
Да
Файловая система общего тома кластера (CSVFS)
Да
Восстанавливаемая файловая система (ReFS)
Да

Требования

Требование Значение
Минимальная версия клиента
Windows XP [классические приложения | Приложения UWP]
Минимальная версия сервера
Windows Server 2003 [классические приложения | Приложения UWP]
Заголовок
IoAPI.h (включая Windows.h);
WinBase.h в Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP (включая Windows.h)
Библиотека
Kernel32.lib
DLL
Kernel32.dll

См. также

CancelIoEx

CancelSynchronousIo

CreateFile

DeviceIoControl

Функции управления файлами

LockFileEx

ReadDirectoryChangesW

ReadFile

ReadFileEx

Синхронный и асинхронный ввод-вывод

WriteFile

WriteFileEx