CancelIo 함수
지정된 파일에 대해 호출 스레드에서 발급한 보류 중인 모든 입력 및 출력(I/O) 작업을 취소합니다. 함수는 다른 스레드가 파일 핸들에 대해 발급하는 I/O 작업을 취소하지 않습니다.
다른 스레드에서 I/O 작업을 취소하려면 CancelIoEx 함수를 사용합니다.
구문
BOOL WINAPI CancelIo(
_In_ HANDLE hFile
);
매개 변수
-
hFile [in]
-
파일에 대한 핸들입니다.
이 함수는 이 파일 핸들에 대해 보류 중인 모든 I/O 작업을 취소합니다.
반환 값
함수가 성공하면 반환 값이 0이 아닙니다. 지정된 파일 핸들에 대해 호출 스레드에서 발급한 보류 중인 모든 I/O 작업에 대한 취소 작업이 성공적으로 요청되었습니다. 스레드는 GetOverlappedResult 함수를 사용하여 I/O 작업 자체가 완료된 시기를 결정할 수 있습니다.
함수가 실패하면 반환 값은 0입니다. 확장된 오류 정보를 얻으려면 GetLastError 함수를 호출합니다.
설명
지정된 파일 핸들에 대해 보류 중인 I/O 작업이 있고 호출 스레드에서 실행된 경우 CancelIo 함수는 이를 취소합니다. CancelIo 는 핸들의 미해결 I/O만 취소하며 핸들의 상태는 변경되지 않습니다. 즉, 작업이 성공적으로 완료되었는지 취소되었는지 알 수 없으므로 핸들의 상태에 의존할 수 없습니다.
I/O 작업은 겹치는 I/O로 실행되어야 합니다. 그렇지 않은 경우 스레드가 CancelIo 함수를 호출할 수 있도록 I/O 작업이 반환되지 않습니다. FILE_FLAG_OVERLAPPED 열려 있지 않은 파일 핸들을 사용하여 CancelIo 함수를 호출해도 아무 작업도 수행되지 않습니다.
오류 ERROR_OPERATION_ABORTED 완료되고 I/O 작업에 대한 모든 완료 알림이 정상적으로 수행되어 취소된 모든 I/O 작업이 완료됩니다.
Windows 8 및 Windows Server 2012 이 함수는 다음 기술에서 지원됩니다.
| 기술 | 지원됨 |
|---|---|
| SMB(서버 메시지 블록) 3.0 프로토콜 |
예 |
| SMB 3.0 TFO(투명한 장애 조치(failover) |
예 |
| SO(스케일 아웃 파일 공유)가 있는 SMB 3.0 |
예 |
| CsvFS(클러스터 공유 볼륨 파일 시스템) |
예 |
| ReFS(Resilient File System) |
예 |
요구 사항
| 요구 사항 | 값 |
|---|---|
| 지원되는 최소 클라이언트 |
XP Windows [데스크톱 앱 | UWP 앱] |
| 지원되는 최소 서버 |
Windows Server 2003 [데스크톱 앱 | UWP 앱] |
| 헤더 |
|
| 라이브러리 |
|
| DLL |
|