CancelIo 函数
 
CancelIo Function

取消由主调线程处理的所有等待的输入输出(I/O)操作。函数不能取消由其他线程处理的I/O操作。
如果要取消其他线程处理的I/O操作,可以使用CancelIoEx函数。

语法
C++

BOOL WINAPI CancelIo(
__in  HANDLE hFile
);

参数

hFile [in]

文件的句柄
函数取消该文件句柄的所有等待的I/O操作。

返回值

如果函数成功,返回值是非零值。线程可以通过使用GetOverlappedResult函数来判断I/O操作什么时候已经被完成。
如果函数失败,返回值是0.

备注

该函数只能取消句柄上的标准I/O,但不能改变句柄的状态;这意味着你不能依赖于句柄的状态,因为你不知道操作是否完成或被取消。

I/O操作必须以overlapped I/O 来处理。如果不是的话,I/O操作不会返回以允许线程去调用该函数。如果以某个具有FILE_FLAG_OVERLAPPED标识符打开的文件句柄,该函数将无效。
所有I/O操作如果完成的话,都返回ERROR_OPERATION_ABORTED,且所有通过都正常激活。

要求
Minimum supported client    Windows 2000 Professional
Minimum supported server    Windows 2000 Server
Header    WinBase.h (include Windows.h)
Library    Kernel32.lib
DLL    Kernel32.dll