FSCTL_ALLOW_EXTENDED_DASD_IO IOCTL(winioctl.h)
파일 시스템 드라이버가 파티션 읽기 또는 쓰기 호출에 대해 I/O 경계 검사를 수행하지 않도록 알릴 수 있습니다. 대신 디바이스 드라이버에서 경계 검사를 수행합니다.
이 작업을 수행하려면 다음 매개 변수를 사용하여 DeviceIoControl 함수를 호출합니다.
C++ |
---|
BOOL DeviceIoControl( (HANDLE) hDevice, // handle to device FSCTL_ALLOW_EXTENDED_DASD_IO, // dwIoControlCodeNULL, // lpInBuffer0, // nInBufferSizeNULL, // lpOutBuffer0, // nOutBufferSize(LPDWORD) lpBytesReturned, // number of bytes returned (LPOVERLAPPED) lpOverlapped // OVERLAPPED structure ); |
발언
FSCTL_ALLOW_EXTENDED_DASD_IO 제어 코드를 사용하는 호출은 하드 디스크 드라이브 및 파일 시스템의 기본 구조에 익숙한 프로그래머만 주의해서 사용해야 합니다. 파티션에 대한 후속 쓰기 작업을 부적절하게 사용하거나 부정확하게 확인하면 파티션의 데이터가 손상되거나 전체 파티션이 소멸될 수 있습니다.
FSCTL_ALLOW_EXTENDED_DASD_IO 제어 코드는 파일 시스템 드라이버가 지정된 핸들을 사용하여 수행된 읽기 또는 쓰기 호출에 대해 I/O 경계 검사를 수행하지 않음을 알리는 데 사용됩니다. FSCTL_ALLOW_EXTENDED_DASD_IO 파티션의 첫 번째 섹터(부팅 매개 변수 블록)와 파티션의 첫 번째 유용한 섹터 사이에 존재할 수 있는 파티션의 일부인 숨겨진 섹터에 액세스할 수 있습니다. 또한 FSCTL_ALLOW_EXTENDED_DASD_IO 마지막 유용한 클러스터와 파티션의 끝 사이에 존재할 수 있는 손실된 클러스터에 대한 액세스를 허용합니다.
이 작업 후에 발급된 I/O 요청은 디바이스 드라이버에 직접 전달됩니다. 이러한 후속 호출이 파티션 경계를 넘어 데이터를 요청하면 드라이버가 실패합니다.
이 작업에 겹치는 I/O의 의미는 deviceIoControl
파티션에 대한 핸들을 검색하려면 lpFileName 매개 변수가 다음 형식의 문자열로 설정된 CreateFile 호출합니다.
\\.\X:
여기서 X 드라이브 문자입니다.
CreateFile 호출하는 애플리케이션은 CreateFiledwShareMode 매개 변수에 FILE_SHARE_READ 및 FILE_SHARE_WRITE 플래그도 지정해야 합니다. 자세한 내용은 CreateFile디스크 디바이스 섹션을 참조하세요.
드라이브의 파티션 구조를 확인하고 시스템에서 파티션을 인식하는지 확인하려면 IOCTL_DISK_GET_DRIVE_LAYOUT_EX 또는 IOCTL_DISK_GET_DRIVE_LAYOUT 제어 코드를 적절하게 사용합니다. 단일 파티션에 대한 유사한 정보는 IOCTL_DISK_GET_PARTITION_INFO_EX 또는 IOCTL_DISK_GET_PARTITION_INFO 제어 코드를 적절하게 사용합니다. 클러스터 크기를 확인하려면 GetDiskFreeSpaceEx
Windows Server 2012에서 이 함수는 다음 기술에서 지원됩니다.
기술 | 지원 |
---|---|
SMB(서버 메시지 블록) 3.0 프로토콜 | 아니요 |
SMB 3.0 TFO(투명한 장애 조치(failover) | 아니요 |
SO(스케일 아웃 파일 공유)가 있는 SMB 3.0 | 아니요 |
CsvFS(클러스터 공유 볼륨 파일 시스템) | 예 |
ReFS(복원 파일 시스템) | 예 |
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
헤더 | winioctl.h(Windows.h 포함) |
참고 항목
CreateFile
DeviceIoControl
GetDiskFreeSpace
GetDiskFreeSpaceEx
IOCTL_DISK_GET_DRIVE_LAYOUT_EX
IOCTL_DISK_GET_PARTITION_INFO_EX
겹치는