Función SetFileIoOverlappedRange (fileapi.h)
Asocia un intervalo de direcciones virtuales con el identificador de archivo especificado. Esto indica que el kernel debe optimizar cualquier solicitud de E/S asincrónica adicional con estructuras superpuestas dentro de este intervalo. El intervalo superpuesto está bloqueado en la memoria y, a continuación, se desbloquea cuando se cierra el archivo. Después de asociar un intervalo a un identificador de archivo, no se puede desasociar.
Sintaxis
BOOL SetFileIoOverlappedRange(
[in] HANDLE FileHandle,
[in] PUCHAR OverlappedRangeStart,
[in] ULONG Length
);
Parámetros
[in] FileHandle
Identificador del archivo.
Este identificador de archivo debe abrirse con derechos de acceso FILE_READ_ATTRIBUTES .
[in] OverlappedRangeStart
Dirección inicial del intervalo.
[in] Length
Longitud del intervalo, en bytes.
Valor devuelto
Devuelve un valor distinto de cero si es correcto o cero de lo contrario.
Para obtener información de error extendida, llame a GetLastError.
Comentarios
SetFileIoOverlappedRange se puede usar para mejorar el rendimiento de una aplicación que emite un gran número de E/S sin búfer asincrónico y usa un intervalo definido de estructuras superpuestas. Dado que este intervalo de estructuras está bloqueado en la memoria, el kernel puede evitar adquirir determinados bloqueos al actualizar las estructuras superpuestas con los resultados de la solicitud de E/S.
SetFileIoOverlappedRange requiere que el autor de la llamada tenga el privilegio de acceso SeLockMemoryPrivilege .
Esta función no tiene ningún efecto en la E/S almacenada en búfer y en la E/S sincrónica.
En Windows 8 y Windows Server 2012, esta función es compatible con las tecnologías siguientes.
Tecnología | Compatible |
---|---|
Protocolo Bloque de mensajes del servidor (SMB) 3.0 | Sí |
Conmutación por error transparente (TFO) de SMB 3.0 | Sí |
SMB 3.0 con recursos compartidos de archivos de escalabilidad horizontal (SO) | Sí |
Sistema de archivos de Volumen compartido de clúster (CsvFS) | Sí |
Sistema de archivos resistente a errores (ReFS) | Sí |
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | fileapi.h (incluya Windows.h, WinBase.h) |
Library | Kernel32.lib |
Archivo DLL | Kernel32.dll |