CancelIo-Funktion (ioapiset.h)
Bricht alle ausstehenden Eingabe- und Ausgabevorgänge (E/A) ab, die vom aufrufenden Thread für die angegebene Datei ausgegeben werden. Die Funktion bricht keine E/A-Vorgänge ab, die andere Threads für ein Dateihandle aufrufen.
Um E/A-Vorgänge eines anderen Threads abzubrechen, verwenden Sie die CancelIoEx-Funktion.
Syntax
BOOL CancelIo(
[in] HANDLE hFile
);
Parameter
[in] hFile
Ein Handle zur Datei.
Die Funktion bricht alle ausstehenden E/A-Vorgänge für dieses Dateihandle ab.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null. Der Abbruchvorgang für alle ausstehenden E/A-Vorgänge, die vom aufrufenden Thread für das angegebene Dateihandle ausgegeben wurden, wurde erfolgreich angefordert. Der Thread kann mithilfe der GetOverlappedResult-Funktion bestimmen, wann die E/A-Vorgänge selbst abgeschlossen wurden.
Wenn die Funktion fehlschlägt, ist der Rückgabewert 0 (null). Um erweiterte Fehlerinformationen zu erhalten, rufen Sie die GetLastError-Funktion auf.
Bemerkungen
Wenn für das angegebene Dateihandle noch E/A-Vorgänge im Gange sind und diese vom aufrufenden Thread ausgeführt werden, bricht die CancelIo-Funktion diese ab. CancelIo bricht nur ausstehende E/A-Vorgänge für das Handle ab, ohne den Zustand des Handles zu ändern. Dies bedeutet, dass Sie sich nicht auf den Zustand des Handles verlassen können, da Sie nicht wissen können, ob der Vorgang erfolgreich abgeschlossen oder abgebrochen wurde.
Die E/A-Vorgänge müssen als überlappende E/A-Vorgänge ausgeführt werden. Falls nicht, werden die E/A-Vorgänge nicht so zurückgegeben, dass der Thread die CancelIo-Funktion aufrufen kann. Das Aufrufen der CancelIo-Funktion mit einem Dateihandle, das nicht mit FILE_FLAG_OVERLAPPED geöffnet wird, bewirkt nichts.
Alle E/A-Vorgänge, die abgebrochen werden, werden mit dem Fehler ERROR_OPERATION_ABORTED abgeschlossen, und alle Abschlussbenachrichtigungen für die E/A-Vorgänge erfolgen normal.
Unter Windows 8 und Windows Server 2012 wird diese Funktion von den folgenden Technologien unterstützt.
Technologie | Unterstützt |
---|---|
SMB 3.0-Protokoll (Server Message Block) | Ja |
SMB 3.0 Transparent Failover (TFO) | Ja |
SMB 3.0 mit Dateifreigaben mit horizontaler Skalierung (SO) | Ja |
Dateisystem mit freigegebenen Clustervolumes (CsvFS) | Ja |
Robustes Dateisystem (Resilient File System, ReFS) | Ja |
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | ioapiset.h (Einschließen von Windows.h) |
Bibliothek | Kernel32.lib |
DLL | Kernel32.dll |