다음을 통해 공유


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)여야 합니다>.

입력 버퍼 길이

위 내용을 참조하세요.

출력 버퍼

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

출력 버퍼 길이

MDL의 길이입니다.

상태 블록

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

요구 사항

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

추가 정보

RAW_READ_INFO