Функция 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

См. также

CancelIo

CancelIoEx

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

Синхронные и асинхронные операции ввода-вывода