SetFileIoOverlappedRange-Funktion (fileapi.h)
Ordnet dem angegebenen Dateihandle einen virtuellen Adressbereich zu. Dies gibt an, dass der Kernel alle weiteren asynchronen E/A-Anforderungen mit überlappenden Strukturen innerhalb dieses Bereichs optimieren sollte. Der überlappende Bereich wird im Arbeitsspeicher gesperrt und dann entsperrt, wenn die Datei geschlossen wird. Nachdem ein Bereich einem Dateihandle zugeordnet wurde, kann er nicht mehr zugeordnet werden.
Syntax
BOOL SetFileIoOverlappedRange(
[in] HANDLE FileHandle,
[in] PUCHAR OverlappedRangeStart,
[in] ULONG Length
);
Parameter
[in] FileHandle
Ein Handle zur Datei.
Dieses Dateihandle muss mit FILE_READ_ATTRIBUTES Zugriffsrechten geöffnet werden.
[in] OverlappedRangeStart
Die Startadresse für den Bereich.
[in] Length
Die Länge des Bereichs in Bytes.
Rückgabewert
Gibt ungleich null zurück, wenn erfolgreich oder andernfalls null.
Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.
Hinweise
SetFileIoOverlappedRange kann verwendet werden, um die Leistung in einer Anwendung zu verbessern, die eine große Anzahl asynchroner, nicht gepufferter E/A-Vorgänge ausgibt und einen definierten Bereich überlappender Strukturen verwendet. Da dieser Bereich von Strukturen im Arbeitsspeicher gesperrt ist, kann der Kernel vermeiden, bestimmte Sperren zu erhalten, wenn die überlappenden Strukturen mit den Ergebnissen der E/A-Anforderung aktualisiert werden.
SetFileIoOverlappedRange erfordert, dass der Aufrufer über die SeLockMemoryPrivilege-Zugriffsberechtigung verfügt .
Diese Funktion hat keine Auswirkungen auf gepufferte und synchrone E/A.
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 [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | fileapi.h (include Windows.h, WinBase.h) |
Bibliothek | Kernel32.lib |
DLL | Kernel32.dll |