다음을 통해 공유


IoReadPartitionTableEx 함수(ntddk.h)

IoReadPartitionTableEx 루틴은 지정된 섹터 크기를 가진 디스크의 파티션 목록을 읽고 인식된 각 파티션에 대한 파티션 목록에 항목을 만듭니다.

구문

NTSTATUS IoReadPartitionTableEx(
  [in] PDEVICE_OBJECT               DeviceObject,
       _DRIVE_LAYOUT_INFORMATION_EX **DriveLayout
);

매개 변수

[in] DeviceObject

파티션을 읽을 디스크의 디바이스 개체에 대한 포인터입니다.

DriveLayout

초기화되지 않은 주소에 대한 포인터입니다. 성공하면 IoReadPartitionTableEx 는 페이지가 없는 풀에서 이 버퍼에 대한 메모리를 할당하고 드라이브 레이아웃 정보를 반환합니다.

반환 값

이 루틴은 하나 이상의 섹터 테이블을 읽은 경우 STATUS_SUCCESS 값을 반환합니다. 그렇지 않으면 오류 상태 값을 반환하고 PartitionBuffer의 포인터를 NULL로 설정합니다.

설명

IoReadPartitionTableEx 는 디스크 드라이버에서만 사용해야 합니다. 다른 드라이버는 대신 IOCTL_DISK_GET_DRIVE_LAYOUT_EX 디스크 I/O 요청을 사용해야 합니다.

IoReadPartitionTableEx 는 GPT(GUID 파티션 테이블) 디스크와 레거시 MBR(마스터 부팅 레코드) 디스크에서 파티션 테이블 정보를 읽을 수 있습니다. 디스크 디바이스 드라이버는 드라이버 초기화 중에 이 루틴을 호출합니다.

ExFreePool을 사용하여 이 루틴에 의해 할당된 PartitionBuffer의 할당을 취소하는 것은 호출자의 책임입니다.

디스크 드라이버는 다음 I/O 제어 코드를 사용하여 IRP_MJ_DEVICE_CONTROL 요청에 대한 응답으로 파티션 정보를 반환하고 설정합니다.

IOCTL_DISK_GET_PARTITION_INFO_EX
IOCTL_DISK_SET_PARTITION_INFO_EX
IOCTL_DISK_GET_DRIVE_LAYOUT_EX
IOCTL_DISK_SET_DRIVE_LAYOUT_EX
IOCTL_DISK_GET_DRIVE_GEOMETRY

요구 사항

요구 사항
대상 플랫폼 유니버설
헤더 ntddk.h(Ntddk.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI 규정 준수 규칙 HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

추가 정보

DRIVE_LAYOUT_INFORMATION_EX

IOCTL_DISK_GET_DRIVE_GEOMETRY

IOCTL_DISK_GET_DRIVE_LAYOUT_EX

IOCTL_DISK_GET_PARTITION_INFO_EX

IOCTL_DISK_SET_DRIVE_LAYOUT_EX

IOCTL_DISK_SET_PARTITION_INFO_EX

IoSetPartitionInformation

IoWritePartitionTableEx

PARTITION_INFORMATION_EX