다음을 통해 공유


IOCTL_CDROM_RAW_READ IOCTL(ntddcdrm.h)

원시 모드에서 CD-ROM 데이터를 읽습니다.

주 코드

IRP_MJ_DEVICE_CONTROL

입력 버퍼

IOCTL이 사용자 모드에서 온 경우 Irp->AssociatedIrp.SystemBuffer 시작 디스크 오프셋, 섹터 수 및 읽기에 대한 트랙 모드(XA 또는 CDDA)를 지정하는 RAW_READ_INFO 구조가 포함됩니다. Parameters.DeviceIoControl.InputBufferLength 구조체의 크기를 바이트 단위로 지정합니다. 구조체의 크기는 >= sizeof(RAW_READ_INFO)이어야 합니다. Parameters.DeviceIoControl.OutputBufferLength 읽을 버퍼의 크기를 지정합니다. >= sizeof(SectorCount * RAW_SECTOR_SIZE)이어야 합니다.

IOCTL이 커널 모드에서 온 경우 Parameters.DeviceIoControl.Type3InputBuffer 읽기에 대한 시작 디스크 오프셋, 섹터 수 및 트랙 모드(XA 또는 CDDA)를 지정하는 구조체를 포함합니다. Parameters.DeviceIoControl.OutputBufferLength 읽을 버퍼의 크기를 바이트 단위로 지정합니다. 이 크기는 >= sizeof(SectorCount * RAW_SECTOR_SIZE)이어야 합니다.

입력 버퍼 길이

위의 내용을 참조하세요.

출력 버퍼

드라이버는 DMA 또는 PIO를 사용하여 요청된 바이트를 Irp->MdlAddressMDL에서 설명하는 버퍼에 직접 씁니다.

출력 버퍼 길이

MDL의 길이입니다.

상태 블록

읽기에 성공하면 드라이버는 상태 STATUS_SUCCESS 설정하고 정보 전송된 바이트 수로. 읽기에 실패하면 드라이버는 Information 0으로 설정하고 상태 STATUS_INVALID_PARAMETER, STATUS_INSUFFICIENT_RESOURCES 또는 STATUS_INVALID_DEVICE_REQUEST 설정합니다.

요구 사항

요구
헤더 ntddcdrm.h(Ntddcdrm.h 포함)

참고 항목

RAW_READ_INFO