Freigeben über


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

Siehe auch

CancelIoEx

CancelSynchronousIo

CreateFile

DeviceIoControl

Dateiverwaltungsfunktionen

LockFileEx

ReadDirectoryChangesW

ReadFile

ReadFileEx

Synchrone und asynchrone E/A-Vorgänge

WriteFile

WriteFileEx