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 | Sì |
Failover trasparente SMB 3.0 (TFO) | Sì |
SMB 3.0 con condivisioni file con scalabilità orizzontale (SO) | Sì |
File system del volume condiviso del cluster (CsvFS) | Sì |
File system resiliente (ReFS) | Sì |
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 |