CancelSynchronousIo-Funktion

Markiert ausstehende synchrone E/A-Vorgänge, die vom angegebenen Thread ausgegeben werden, als abgebrochen.

Syntax

BOOL WINAPI CancelSynchronousIo(
  _In_ HANDLE hThread
);

Parameter

hThread[in]

Ein Handle für den Thread.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.

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

Wenn diese Funktion keine Anforderung zum Abbrechen finden kann, ist der Rückgabewert 0 (null), und GetLastError gibt ERROR_NOT_FOUND zurück.

Hinweise

Der Aufrufer muss über das zugriffsrecht THREAD_TERMINATE verfügen.

Wenn E/A-Vorgänge für den angegebenen Thread ausstehen, markiert die CancelSynchronousIo-Funktion diese zum Abbruch. Die meisten Arten von Vorgängen können sofort abgebrochen werden. Andere Vorgänge können bis zum Abschluss fortgesetzt werden, bevor sie tatsächlich abgebrochen werden und der Aufrufer benachrichtigt wird. Die CancelSynchronousIo-Funktion wartet nicht, bis alle abgebrochenen Vorgänge abgeschlossen sind. Weitere Informationen finden Sie unter E/A-Vervollständigung/Abbruchrichtlinien.

Der abgebrochene Vorgang wird mit einem von drei Status abgeschlossen. Sie müssen den Abschluss status überprüfen, um den Abschlusszustand zu bestimmen. Die drei Status sind:

  • Der Vorgang wurde normal abgeschlossen. Dies kann auch auftreten, wenn der Vorgang abgebrochen wurde, da die Abbruchanforderung möglicherweise nicht rechtzeitig übermittelt wurde, um den Vorgang abzubrechen.
  • Der Vorgang wurde abgebrochen. Die GetLastError-Funktion gibt ERROR_OPERATION_ABORTED zurück.
  • Der Vorgang ist mit einem anderen Fehler fehlgeschlagen. Die GetLastError-Funktion gibt den relevanten Fehlercode zurück.

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 Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Header IoAPI.h (einschließlich Windows.h);
WinBase.h unter Windows Server 2008 R2, Windows 7, Windows Server 2008 und Windows Vista (einschließlich Windows.h)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

CancelIo

CancelIoEx

Dateiverwaltungsfunktionen

Synchrone und asynchrone E/A