다음을 통해 공유


IOCTL_DISK_CREATE_DISK IOCTL(ntdddisk.h)

디바이스 개체에 대한 빈 파티션을 만듭니다. EFI 디스크 또는 MBR 디스크에서 작동할 수 있습니다. 빈 디스크를 만드는 데 필요한 매개 변수는 디스크에 배치될 파티션 테이블의 유형에 따라 달라집니다. 자세한 내용은 CREATE_DISK 참조하세요.

디스크 드라이버는 파티션을 자식 디바이스인 것처럼 열거합니다. 따라서 새 파티션을 만들 때 디스크 클래스 드라이버는 IoInvalidateDeviceRelations 에 대한 호출을 통해 PnP 관리자에게 디스크 디바이스에 새 자식 디바이스(파티션)가 있음을 알릴 수 있습니다.

주 코드

IRP_MJ_DEVICE_CONTROL

입력 버퍼

Irp-AssociatedIrp.SystemBuffer>의 버퍼에는 CREATE_DISK 데이터가 포함됩니다.

입력 버퍼 길이

IRP의 I/O 스택 위치에 있는 Parameters.DeviceIoControl.InputBufferLength는 드라이버에서 사용할 수 있는 버퍼의 크기(바이트)를 나타내며, 이는 >= sizeof(CREATE_DISK)여야 합니다. 그렇지 않으면 드라이버가 오류 상태 STATUS_INFO_LENGTH_MISMATCH 반환합니다.

출력 버퍼

없음

출력 버퍼 길이

없음

상태 블록

정보 필드는 0으로 설정됩니다. 작업이 성공하면 상태 필드가 STATUS_SUCCESS 설정됩니다. 다른 가능한 상태 값은 다음과 같습니다. 요청된 파티션 스타일이 지원되지 않는 경우 STATUS_NOT_SUPPORTED. 클래스 드라이버가 디스크 기하 도형을 검색하지 못한 경우 STATUS_DEVICE_NOT_READY. 클래스 드라이버가 힙 메모리와 같은 필요한 리소스를 가져오지 못한 경우 및 STATUS_INSUFFICIENT_RESOURCES.

요구 사항

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

추가 정보

CREATE_DISK