Функция CancelSynchronousIo
Помечает ожидающие синхронные операции ввода-вывода, выданные указанным потоком, как отмененные.
Синтаксис
BOOL WINAPI CancelSynchronousIo(
_In_ HANDLE hThread
);
Параметры
hThread[in]
Дескриптор потока.
Возвращаемое значение
Если функция выполняется успешно, возвращается ненулевое значение.
Если функция завершается сбоем, возвращаемое значение равно 0 (ноль). Чтобы получить расширенные сведения об ошибке, вызовите функцию GetLastError .
Если эта функция не может найти запрос для отмены, возвращаемое значение равно 0 (ноль), а GetLastError возвращает ERROR_NOT_FOUND.
Комментарии
Вызывающий объект должен иметь право доступа к THREAD_TERMINATE .
Если для указанного потока выполняются какие-либо ожидающие операции ввода-вывода, функция CancelSynchronousIo помечает их для отмены. Большинство типов операций можно отменить немедленно; другие операции могут продолжаться до завершения, прежде чем они будут фактически отменены и вызывающий объект будет уведомлен. Функция CancelSynchronousIo не ожидает завершения всех отмененных операций. Дополнительные сведения см. в разделе Рекомендации по завершению и отмене ввода-вывода.
Отменяемая операция завершается с одним из трех состояний; Чтобы определить состояние завершения, необходимо проверка состояние завершения. Ниже перечислены три состояния:
- Операция выполнена в обычном режиме. Это может произойти, даже если операция была отменена, так как запрос на отмену, возможно, не был отправлен вовремя для отмены операции.
- Операция была отменена. Функция GetLastError возвращает ERROR_OPERATION_ABORTED.
- Операция завершилась сбоем с другой ошибкой. Функция GetLastError возвращает соответствующий код ошибки.
В Windows 8 и Windows Server 2012 эта функция поддерживается следующими технологиями.
Технология | Поддерживается |
---|---|
Протокол SMB 3.0 | Да |
Прозрачная отработка отказа (TFO) SMB 3.0 | Да |
SMB 3.0 с масштабируемыми общими папками (SO) | Да |
Файловая система общего тома кластера (CSVFS) | Да |
Восстанавливаемая файловая система (ReFS) | Да |
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Заголовок | IoAPI.h (включая Windows.h); WinBase.h в Windows Server 2008 R2, Windows 7, Windows Server 2008 и Windows Vista (включая Windows.h) |
Библиотека | Kernel32.lib |
DLL | Kernel32.dll |