Condividi tramite


Funzione SetFileIoOverlappedRange (fileapi.h)

Associa un intervallo di indirizzi virtuali all'handle di file specificato. Ciò indica che il kernel deve ottimizzare eventuali richieste di I/O asincrone aggiuntive con strutture sovrapposte all'interno di questo intervallo. L'intervallo sovrapposto è bloccato in memoria e quindi sbloccato quando il file viene chiuso. Dopo che un intervallo è associato a un handle di file, non può essere disassociato.

Sintassi

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

Parametri

[in] FileHandle

Handle per il file.

Questo handle di file deve essere aperto con diritti di accesso FILE_READ_ATTRIBUTES .

[in] OverlappedRangeStart

Indirizzo iniziale dell'intervallo.

[in] Length

Lunghezza dell'intervallo, in byte.

Valore restituito

Restituisce un valore diverso da zero se ha esito positivo o zero in caso contrario.

Per informazioni dettagliate sull'errore, chiamare GetLastError.

Commenti

SetFileIoOverlappedRange può essere usato per migliorare le prestazioni in un'applicazione che genera un numero elevato di I/O asincrone e usa un intervallo definito di strutture sovrapposte. Poiché questa gamma di strutture è bloccata in memoria, il kernel può evitare di acquisire determinati blocchi durante l'aggiornamento delle strutture sovrapposte con i risultati della richiesta di I/O.

SetFileIoOverlappedRange richiede al chiamante di avere il privilegio di accesso SeLockMemoryPrivilege .

Questa funzione non ha alcun effetto sull'I/O memorizzato nel buffer e sincrono.

In Windows 8 e Windows Server 2012 questa funzione è supportata dalle tecnologie seguenti.

Tecnologia Supportato
Protocollo SMB (Server Message Block) 3.0
Failover trasparente SMB 3.0 (TFO)
SMB 3.0 con condivisioni file con scalabilità orizzontale (SO)
File system del volume condiviso del cluster (CsvFS)
File system resiliente (ReFS)

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione fileapi.h (includono Windows.h, WinBase.h)
Libreria Kernel32.lib
DLL Kernel32.dll

Vedere anche

Funzioni di gestione file