다음을 통해 공유


IOCTL_DISK_GET_DRIVE_LAYOUT_EX IOCTL(ntdddisk.h)

디스크에 있는 각 파티션의 파티션 수, 디스크 서명 및 기능에 대한 정보를 반환합니다. 플로피 드라이버는 이 요청을 처리할 필요가 없습니다.

주 코드

IRP_MJ_DEVICE_CONTROL

입력 버퍼

없음

입력 버퍼 길이

없음

출력 버퍼

드라이버는 Irp-AssociatedIrp.SystemBuffer>의 버퍼에 있는 DRIVE_LAYOUT_INFORMATION_EX 데이터를 반환합니다.

출력 버퍼 길이

IRP의 I/O 스택 위치에 있는 Parameters.DeviceIoControl.OutputBufferLength는 = sizeof(DRIVE_LAYOUT_INFORMATION_EX)여야 >하는 버퍼의 크기를 바이트 단위로 나타냅니다. 이 구조체에는 PARTITION_INFORMATION_EX 요소의 가변 크기 배열이 포함되어 있습니다.

필요한 출력 버퍼의 크기를 확인하려면 호출자가 이 IOCTL 요청을 루프로 보내야 합니다. 스토리지 스택이 버퍼가 너무 작다는 오류 메시지와 함께 IOCTL을 거부할 때마다 호출자는 버퍼 크기를 두 배로 줄여야 합니다.

상태 블록

정보 필드는 반환된 데이터의 크기(바이트)로 설정됩니다. 상태 필드는 STATUS_SUCCESS 또는 STATUS_INFO_LENGTH_MISMATCH, STATUS_INSUFFICIENT_RESOURCES 또는 STATUS_BUFFER_TOO_SMALL 설정할 수 있습니다.

요구 사항

요구 사항
헤더 ntdddisk.h(Ntdddisk.h 포함)

추가 정보

DRIVE_LAYOUT_INFORMATION

PARTITION_INFORMATION

PARTITION_INFORMATION_EX