IOCTL_CDROM_RAW_READ IOCTL(ntddcdrm.h)
원시 모드에서 CD-ROM에서 데이터를 읽습니다.
주 코드
입력 버퍼
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 포함) |