다음을 통해 공유


IOCTL_VOLUME_LOGICAL_TO_PHYSICAL IOCTL(ntddvol.h)

지정된 볼륨 논리 오프셋에 대한 물리적 오프셋 및 실제 디스크 번호를 반환합니다.

예를 들어 2개의 플렉스가 있는 미러된 볼륨 내의 논리 볼륨 오프셋은 두 개의 실제 오프셋에 해당하며, 각각 미러 참여하는 두 디스크에 하나씩 해당합니다. 이 IOCTL에 대한 응답으로 볼륨 관리자는 논리 볼륨 오프셋에 대해 두 개의 물리적 오프셋과 두 개의 실제 디스크 번호를 반환합니다.

볼륨 관리자는 모든 유형의 기본 및 동적 볼륨에 대해 이 IOCTL을 지원합니다.

주 코드

IRP_MJ_DEVICE_CONTROL

입력 버퍼

호출자는 Irp-AssociatedIrp.SystemBuffer>에서 버퍼의 시작 부분에 논리 오프셋이 포함된 VOLUME_LOGICAL_OFFSET 구조를 삽입합니다.

입력 버퍼 길이

IRP의 I/O 스택 위치에 있는 Parameters.DeviceIoControl.InputBufferLength는 입력 버퍼의 크기(바이트)를 나타내며, 이는 sizeof(VOLUME_LOGICAL_OFFSET)의 값보다 크거나 같아야 합니다.

출력 버퍼

출력 버퍼 크기는 VOLUME_PHYSICAL_OFFSET 형식 구조체의 가변 길이 배열을 포함하는 구조체 VOLUME_PHYSICAL_OFFSETS 포함할 수 있을 만큼 커야 합니다.

볼륨 관리자는 버퍼의 시작 부분에 있는 VOLUME_PHYSICAL_OFFSETS 구조의 Irp-AssociatedIrp.SystemBuffer>에서 하나 이상의 물리적 오프셋 및 디스크 번호를 반환합니다.

출력 버퍼 길이

IRP의 I/O 스택 위치에 있는 Parameters.DeviceIoControl.OutputBufferLength는 출력 버퍼의 크기(바이트)를 나타냅니다.

상태 블록

작업이 성공하면 Status 멤버가 STATUS_SUCCESS 설정됩니다. 그렇지 않으면 Status 멤버가 적절한 오류 코드로 설정됩니다. 가능한 오류 코드에는 다음이 포함됩니다.

STATUS_BUFFER_TOO_SMALL

출력 버퍼가 너무 작습니다. 볼륨 관리자는 Irp-IoStatus.Information> 멤버를 호출자가 제공해야 하는 출력 버퍼의 크기로 설정합니다.

STATUS_INVALID_PARAMETER

입력 버퍼가 너무 작습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP부터 사용할 수 있습니다.
머리글 ntddvol.h(Ntddvol.h 포함)

추가 정보

IOCTL_VOLUME_PHYSICAL_TO_LOGICAL

VOLUME_LOGICAL_OFFSET

VOLUME_PHYSICAL_OFFSET

VOLUME_PHYSICAL_OFFSETS