SetFileIoOverlappedRange 함수(fileapi.h)
가상 주소 범위를 지정된 파일 핸들과 연결합니다. 이는 커널이 이 범위 내에서 겹치는 구조체를 사용하여 추가 비동기 I/O 요청을 최적화해야 했음을 나타냅니다. 겹치는 범위는 메모리에서 잠근 다음 파일이 닫혀 있을 때 잠금 해제됩니다. 범위가 파일 핸들과 연결되면 연결을 해제할 수 없습니다.
구문
BOOL SetFileIoOverlappedRange(
[in] HANDLE FileHandle,
[in] PUCHAR OverlappedRangeStart,
[in] ULONG Length
);
매개 변수
[in] FileHandle
파일에 대한 핸들입니다.
이 파일 핸들은 FILE_READ_ATTRIBUTES 액세스 권한으로 열어야 합니다.
[in] OverlappedRangeStart
범위의 시작 주소입니다.
[in] Length
범위의 길이(바이트)입니다.
반환 값
성공하면 0이 아닌 값을 반환하고 그렇지 않으면 0을 반환합니다.
확장 오류 정보를 가져오려면 GetLastError를 호출합니다.
설명
SetFileIoOverlappedRange 는 많은 수의 비동기 비동기 I/O를 발급하고 정의된 겹치는 구조체 범위를 사용하는 애플리케이션에서 성능을 향상시키는 데 사용할 수 있습니다. 이 구조체 범위는 메모리에 잠겨 있으므로 I/O 요청의 결과로 겹치는 구조를 업데이트할 때 커널이 특정 잠금을 획득하지 않도록 방지할 수 있습니다.
SetFileIoOverlappedRange 를 사용하려면 호출자에게 SeLockMemoryPrivilege 액세스 권한이 있어야 합니다.
이 함수는 버퍼링 및 동기 I/O에 영향을 주지 않습니다.
Windows 8 및 Windows Server 2012에서 이 함수는 다음 기술을 통해 지원됩니다.
기술 | 지원됨 |
---|---|
SMB(서버 메시지 블록) 3.0 프로토콜 | Yes |
SMB 3.0 TFO(투명 장애 조치(failover)) | Yes |
SO(스케일 아웃 파일 공유)를 사용하는 SMB 3.0 | Yes |
CsvFS(클러스터 공유 볼륨 파일 시스템) | Yes |
ReFS(Resilient File System) | Yes |
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | fileapi.h(Windows.h, WinBase.h 포함) |
라이브러리 | Kernel32.lib |
DLL | Kernel32.dll |