NtCancelIoFile function
Cancels all pending input and output (I/O) operations that are issued by the calling thread for the specified file. The function does not cancel I/O operations that other threads issue for a file handle.
To cancel I/O operations from another thread, use the NtCancelIoFileEx function.
Note
This function is the user-mode equivalent to the CancelIo Win32 function.
Syntax
BOOL WINAPI NtCancelIoFile(
_In_ HANDLE hFile
);
Parameters
hFile [in]
A handle to the file.
The function cancels all pending I/O operations for this file handle.
Returns
If the function succeeds, the return value is nonzero. The cancel operation for all pending I/O operations issued by the calling thread for the specified file handle was successfully requested. The thread can use the GetOverlappedResult function to determine when the I/O operations themselves have been completed.
If the function fails, the return value is zero (0). To get extended error information, call the GetLastError function.
Remarks
If there are any pending I/O operations in progress for the specified file handle, and they are issued by the calling thread, the NtCancelIoFile function cancels them. NtCancelIoFile cancels only outstanding I/O on the handle, it does not change the state of the handle; this means that you cannot rely on the state of the handle because you cannot know whether the operation was completed successfully or canceled.
The I/O operations must be issued as overlapped I/O. If they are not, the I/O operations do not return to allow the thread to call the NtCancelIoFile function. Calling the NtCancelIoFile function with a file handle that is not opened with FILE_FLAG_OVERLAPPED does nothing.
All I/O operations that are canceled complete with the error ERROR_OPERATION_ABORTED, and all completion notifications for the I/O operations occur normally.
In Windows 8 and Windows Server 2012, this function is supported by the following technologies.
Technology | Supported |
---|---|
Server Message Block (SMB) 3.0 protocol |
Yes |
SMB 3.0 Transparent Failover (TFO) |
Yes |
SMB 3.0 with Scale-out File Shares (SO) |
Yes |
Cluster Shared Volume File System (CsvFS) |
Yes |
Resilient File System (ReFS) |
Yes |
Requirements
Requirement | Value |
---|---|
Header |
|
Library |
|