Partager via


SetFileCompletionNotificationModes, fonction (winbase.h)

Définit les modes de notification pour un descripteur de fichier, ce qui vous permet de spécifier comment les notifications d’achèvement fonctionnent pour le fichier spécifié.

Syntaxe

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

Paramètres

[in] FileHandle

Descripteur du fichier.

[in] Flags

Modes à définir. Un ou plusieurs modes peuvent être définis en même temps ; Toutefois, une fois qu’un mode a été défini pour un handle de fichier, il ne peut pas être supprimé.

Valeur Signification
FILE_SKIP_COMPLETION_PORT_ON_SUCCESS
0x1
Si les trois conditions suivantes sont remplies, le Gestionnaire d’E/S ne met pas en file d’attente une entrée d’achèvement sur le port, alors qu’il le ferait généralement. Les conditions sont les suivantes :
  • Un port d’achèvement est associé au handle de fichier.
  • Le fichier est ouvert pour les E/S asynchrones.
  • Une requête retourne immédiatement la réussite sans retourner ERROR_PENDING.

Lorsque le paramètre FileHandle est un socket, ce mode n’est compatible qu’avec les fournisseurs de services en couches (LSP) qui retournent des handles IFS (Installable File Systems). Pour détecter si un LSP non-IFS est installé, utilisez la fonction WSAEnumProtocols et examinez le membre dwServiceFlag1 dans chaque structure WSAPROTOCOL_INFO retournée. Si le bit XP1_IFS_HANDLES (0x20000) est effacé, le LSP spécifié n’est pas un LSP IFS. Les fournisseurs qui ont des fournisseurs LSP non-IFS sont encouragés à migrer vers la plateforme de filtrage Windows (PAM).

FILE_SKIP_SET_EVENT_ON_HANDLE
0x2
Le Gestionnaire d’E/S ne définit pas l’événement pour l’objet file si une requête est retournée avec un code de réussite, ou si l’erreur retournée est ERROR_PENDING et que la fonction appelée n’est pas une fonction synchrone.

Si un événement explicite est fourni pour la demande, il est toujours signalé.

Valeur retournée

Retourne une valeur différente de zéro en cas de réussite ou de zéro dans le cas contraire.

Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Remarques

Pour compiler une application qui utilise cette fonction, définissez la macro _WIN32_WINNT comme 0x0600 ou version ultérieure. Pour plus d’informations, consultez Utilisation des en-têtes Windows.

Dans Windows 8 et Windows Server 2012, cette fonction est prise en charge par les technologies suivantes.

Technologie Prise en charge
Protocole Server Message Block (SMB) 3.0 Oui
Basculement transparent SMB 3.0 (TFO) Oui
SMB 3.0 avec partages de fichiers avec montée en puissance parallèle (SO) Oui
Système de fichiers du volume partagé de cluster (CsvFS) Oui
Système de fichiers résilient (ReFS) Oui

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau | applications UWP]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau | applications UWP]
Plateforme cible Windows
En-tête winbase.h (inclure Windows.h)
Bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

Fonctions de gestion des fichiers