Funzione CancelIo (ioapiset.h)
Annulla tutte le operazioni di input e output in sospeso (I/O) rilasciate dal thread chiamante per il file specificato. La funzione non annulla le operazioni di I/O che altri thread rilasciano per un handle di file.
Per annullare le operazioni di I/O da un altro thread, usare la funzione CancelIoEx .
Sintassi
BOOL CancelIo(
[in] HANDLE hFile
);
Parametri
[in] hFile
Handle per il file.
La funzione annulla tutte le operazioni di I/O in sospeso per questo handle di file.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è diverso da zero. L'operazione di annullamento per tutte le operazioni di I/O in sospeso rilasciate dal thread chiamante per l'handle di file specificato è stata richiesta correttamente. Il thread può usare la funzione GetOverlappedResult per determinare quando sono state completate le operazioni di I/O.
Se la funzione ha esito negativo, il valore restituito è zero (0). Per ottenere informazioni sull'errore estese, chiamare la funzione GetLastError .
Commenti
Se sono in corso operazioni di I/O in sospeso per l'handle di file specificato e vengono rilasciate dal thread chiamante, la funzione CancelIo li annulla. CancelIo annulla solo I/O in sospeso nell'handle, non modifica lo stato dell'handle; ciò significa che non è possibile basarsi sullo stato dell'handle perché non è possibile sapere se l'operazione è stata completata correttamente o annullata.
Le operazioni di I/O devono essere rilasciate come I/O sovrapposte. In caso contrario, le operazioni di I/O non vengono restituite per consentire al thread di chiamare la funzione CancelIo . La chiamata alla funzione CancelIo con un handle di file non aperto con FILE_FLAG_OVERLAPPED non fa nulla.
Tutte le operazioni di I/O annullate completano l'errore ERROR_OPERATION_ABORTED e tutte le notifiche di completamento per le operazioni di I/O vengono eseguite normalmente.
In Windows 8 e Windows Server 2012 questa funzione è supportata dalle tecnologie seguenti.
Tecnologia | Supportato |
---|---|
Protocollo SMB (Server Message Block) 3.0 | Sì |
Failover trasparente SMB 3.0 (TFO) | Sì |
SMB 3.0 con condivisioni file con scalabilità orizzontale (SO) | Sì |
File system del volume condiviso del cluster (CsvFS) | Sì |
File system resiliente (ReFS) | Sì |
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [app desktop | App UWP] |
Server minimo supportato | Windows Server 2003 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | ioapiset.h (includere Windows.h) |
Libreria | Kernel32.lib |
DLL | Kernel32.dll |