SetFileCompletionNotificationModes-Funktion (winbase.h)

Legt die Benachrichtigungsmodi für ein Dateihandle fest, sodass Sie angeben können, wie Abschlussbenachrichtigungen für die angegebene Datei erfolgen.

Syntax

BOOL SetFileCompletionNotificationModes(
  [in] HANDLE FileHandle,
  [in] UCHAR  Flags
);

Parameter

[in] FileHandle

Ein Handle zur Datei.

[in] Flags

Die festzulegenden Modi. Ein oder mehrere Modi können gleichzeitig festgelegt werden. Nachdem jedoch ein Modus für ein Dateihandle festgelegt wurde, kann er nicht entfernt werden.

Wert Bedeutung
FILE_SKIP_COMPLETION_PORT_ON_SUCCESS
0x1
Wenn die folgenden drei Bedingungen zutreffen, führt der E/A-Manager keinen Abschlusseintrag in die Warteschlange, wenn dies normalerweise der Fall wäre. Die Bedingungen sind:
  • Dem Dateihandle ist ein Vervollständigungsport zugeordnet.
  • Die Datei wird für asynchrone E/A-Vorgänge geöffnet.
  • Eine Anforderung gibt erfolglos zurück, ohne ERROR_PENDING zurückzugeben.

Wenn der FileHandle-Parameter ein Socket ist, ist dieser Modus nur mit Mehrschichtdienstanbietern (Layered Service Providers, LSP) kompatibel, die IFS-Handles (Installable File Systems) zurückgeben. Um zu erkennen, ob ein Nicht-IFS-LSP installiert ist, verwenden Sie die WSAEnumProtocols-Funktion , und untersuchen Sie das element dwServiceFlag1 in jeder zurückgegebenen WSAPROTOCOL_INFO-Struktur . Wenn das XP1_IFS_HANDLES-Bit (0x20000) gelöscht wird, ist der angegebene LSP kein IFS-LSP. Anbieter, die nicht über IFS-LSPs verfügen, werden empfohlen, zur Windows-Filterplattform (Windows Filtering Platform , WFP) zu migrieren.

FILE_SKIP_SET_EVENT_ON_HANDLE
0x2
Der E/A-Manager legt das Ereignis für das Dateiobjekt nicht fest, wenn eine Anforderung mit einem Erfolgscode zurückgibt oder der zurückgegebene Fehler ERROR_PENDING ist und die aufgerufene Funktion keine synchrone Funktion ist.

Wenn für die Anforderung ein explizites Ereignis bereitgestellt wird, wird es trotzdem signalisiert.

Rückgabewert

Gibt ungleich null zurück, wenn erfolgreich oder andernfalls null.

Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Hinweise

Um eine Anwendung zu kompilieren, die diese Funktion verwendet, definieren Sie das makro _WIN32_WINNT als 0x0600 oder höher. Weitere Informationen finden Sie unter Verwenden der Windows-Header.

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 Vista [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile winbase.h (Windows.h einschließen)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

Dateiverwaltungsfunktionen