Функция NtCancelIoFile
Отменяет все ожидающие операции ввода-вывода, которые выдаются вызывающим потоком для указанного файла. Функция не отменяет операции ввода-вывода, которые другие потоки выдают дескриптору файла.
Чтобы отменить операции ввода-вывода из другого потока, используйте функцию NtCancelIoFileEx .
Примечание
Эта функция является пользовательским режимом, эквивалентным функции CancelIo Win32.
Синтаксис
BOOL WINAPI NtCancelIoFile(
_In_ HANDLE hFile
);
Параметры
hFile [in]
Дескриптор файла.
Функция отменяет все ожидающие операции ввода-вывода для этого дескриптора файла.
Возвращаемое значение
Если функция выполняется успешно, возвращается ненулевое значение. Операция отмены для всех ожидающих операций ввода-вывода, выданных вызывающим потоком для указанного дескриптора файла, успешно запрошена. Поток может использовать функцию GetOverlappedResult для определения завершения самих операций ввода-вывода.
Если функция завершается сбоем, возвращаемое значение равно нулю (0). Чтобы получить расширенные сведения об ошибке, вызовите функцию GetLastError .
Комментарии
Если для указанного дескриптора файла выполняются какие-либо ожидающие операции ввода-вывода и они выдаются вызывающим потоком, функция NtCancelIoFile отменяет их. NtCancelIoFile отменяет только невыполненные операции ввода-вывода на дескрипторе, не изменяя состояние дескриптора; это означает, что нельзя полагаться на состояние дескриптора, так как вы не можете знать, была ли операция успешно завершена или отменена.
Операции ввода-вывода должны выдаваться как перекрывающиеся операции ввода-вывода. В противном случае операции ввода-вывода не возвращаются, чтобы разрешить потоку вызывать функцию NtCancelIoFile . Вызов функции NtCancelIoFile с дескриптором файла, который не открыт с помощью FILE_FLAG_OVERLAPPED , ничего не делает.
Все отмененные операции ввода-вывода завершаются с ошибкой ERROR_OPERATION_ABORTED, а все уведомления о завершении операций ввода-вывода выполняются обычным образом.
В Windows 8 и Windows Server 2012 эта функция поддерживается следующими технологиями.
Технология | Поддерживается |
---|---|
Протокол SMB 3.0 |
Да |
Прозрачная отработка отказа (TFO) SMB 3.0 |
Да |
SMB 3.0 с масштабируемыми общими папками (SO) |
Да |
Файловая система общего тома кластера (CSVFS) |
Да |
Восстанавливаемая файловая система (ReFS) |
Да |
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|