Freigeben über


CancelIo-Funktion

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 ausgeben.

Verwenden Sie die CancelIoEx-Funktion , um E/A-Vorgänge aus einem anderen Thread abzubrechen.

Syntax

BOOL WINAPI CancelIo(
  _In_ HANDLE hFile
);

Parameter

hFile [in]

Ein Handle für die 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 die GetOverlappedResult-Funktion verwenden, um zu bestimmen, wann die E/A-Vorgänge selbst abgeschlossen wurden.

Wenn die Funktion fehlschlägt, ist der Rückgabewert null (0). Rufen Sie die GetLastError-Funktion auf, um erweiterte Fehlerinformationen zu erhalten.

Bemerkungen

Wenn E/A-Vorgänge für das angegebene Dateihandle ausstehen und diese vom aufrufenden Thread ausgegeben werden, werden sie von der CancelIo-Funktion abgebrochen. CancelIo bricht nur ausstehende E/A-Vorgänge auf dem Handle ab, der Status des Handles wird nicht geändert. Dies bedeutet, dass Sie sich nicht auf den Status 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 ausgegeben werden. Andernfalls werden die E/A-Vorgänge nicht zurückgegeben, damit 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 vollständig mit dem Fehler ERROR_OPERATION_ABORTED, und alle Abschlussbenachrichtigungen für die E/A-Vorgänge werden normal ausgeführt.

In Windows 8 und Windows Server 2012 wird diese Funktion von den folgenden Technologien unterstützt.

Technologie Unterstützt
Server Message Block (SMB) 3.0-Protokoll
Ja
SMB 3.0 Transparent Failover (TFO)
Ja
SMB 3.0 mit Dateifreigaben für horizontales Skalieren (SO)
Ja
Freigegebenes Clustervolume-Dateisystem (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]
Header
IoAPI.h (einschließlich Windows.h);
WinBase.h unter Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP (einschließlich Windows.h)
Bibliothek
Kernel32.lib
DLL
Kernel32.dll

Siehe auch

CancelIoEx

CancelSynchronousIo

CreateFile

Deviceiocontrol

Dateiverwaltungsfunktionen

LockFileEx

ReadDirectoryChangesW

ReadFile

ReadFileEx

Synchrone und asynchrone E/A

WriteFile

WriteFileEx