NtCancelIoFile-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 aufrufen.
Um E/A-Vorgänge aus einem anderen Thread abzubrechen, verwenden Sie die NtCancelIoFileEx-Funktion .
Hinweis
Diese Funktion ist der Benutzermodus, der der Funktion CancelIo Win32 entspricht.
Syntax
BOOL WINAPI NtCancelIoFile(
_In_ HANDLE hFile
);
Parameter
hFile [in]
Ein Handle zur Datei.
Die Funktion bricht alle ausstehenden E/A-Vorgänge für dieses Dateihandle ab.
Gibt zurück
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 E/A-Vorgänge für das angegebene Dateihandle ausstehen und vom aufrufenden Thread ausgegeben werden, werden sie von der NtCancelIoFile-Funktion abgebrochen. NtCancelIoFile bricht nur ausstehende E/A-Vorgänge auf dem Handle ab, der Zustand 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 ausgeführt werden. Andernfalls werden die E/A-Vorgänge nicht zurückgegeben, damit der Thread die NtCancelIoFile-Funktion aufrufen kann. Das Aufrufen der NtCancelIoFile-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 |
---|---|
Header |
|
Bibliothek |
|