Platform SDK: Files and I/O

CancelIo

The CancelIo function cancels all pending input and output (I/O) operations that were issued by the calling thread for the specified file handle. The function does not cancel I/O operations issued for the file handle by other threads.

BOOL CancelIo(
  HANDLE hFile  // handle to file
);

Parameters

hFile
[in] Handle to a file. The function cancels all pending I/O operations for this file handle.

Return Values

If the function succeeds, the return value is nonzero. All pending I/O operations issued by the calling thread for the file handle were successfully canceled.

If the function fails, the return value is zero. To get extended error information, call GetLastError.

Remarks

If there are any I/O operations in progress for the specified file handle, and they were issued by the calling thread, the CancelIo function cancels them.

Note that the I/O operations must have been issued as overlapped I/O. If they were not, the I/O operations would not have returned to allow the thread to call the CancelIo function. Calling the CancelIo function with a file handle that was not opened with FILE_FLAG_OVERLAPPED does nothing.

All I/O operations that are canceled will complete with the error ERROR_OPERATION_ABORTED. All completion notifications for the I/O operations will occur normally.

Requirements

  Windows NT/2000: Requires Windows NT 4.0 or later.
  Windows 95/98: Requires Windows 98.
  Header: Declared in Winbase.h; include Windows.h.
  Library: Use Kernel32.lib.

See Also

File I/O Overview, File I/O Functions, CreateFile, DeviceIoControl, LockFileEx, ReadDirectoryChangesW, ReadFile, ReadFileEx, WriteFile, WriteFileEx