SetFileIoOverlappedRange, fonction (fileapi.h)

Associe une plage d’adresses virtuelles au descripteur de fichier spécifié. Cela indique que le noyau doit optimiser toutes les demandes d’E/S asynchrones supplémentaires avec des structures qui se chevauchent à l’intérieur de cette plage. La plage qui se chevauche est verrouillée en mémoire, puis déverrouillée lorsque le fichier est fermé. Une fois qu’une plage est associée à un handle de fichier, elle ne peut pas être dissociée.

Syntaxe

BOOL SetFileIoOverlappedRange(
  [in] HANDLE FileHandle,
  [in] PUCHAR OverlappedRangeStart,
  [in] ULONG  Length
);

Paramètres

[in] FileHandle

Descripteur du fichier.

Ce handle de fichier doit être ouvert avec FILE_READ_ATTRIBUTES droits d’accès.

[in] OverlappedRangeStart

Adresse de départ de la plage.

[in] Length

Longueur de la plage, en octets.

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

SetFileIoOverlappedRange peut être utilisé pour améliorer les performances d’une application qui émet un nombre élevé d’E/S asynchrones sans débogage et utilise une plage définie de structures superposées. Étant donné que cette plage de structures est verrouillée en mémoire, le noyau peut éviter d’acquérir certains verrous lors de la mise à jour des structures qui se chevauchent avec les résultats de la demande d’E/S.

SetFileIoOverlappedRange nécessite que l’appelant dispose du privilège d’accès SeLockMemoryPrivilege .

Cette fonction n’a aucun effet sur les E/S en mémoire tampon et synchrones.

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 uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête fileapi.h (inclure Windows.h, WinBase.h)
Bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

Fonctions de gestion des fichiers