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)이어야 합니다.
입력 버퍼 길이
위의 내용을 참조하세요.
출력 버퍼
드라이버는 DMA 또는 PIO를 사용하여 요청된 바이트를 Irp->MdlAddressMDL에서 설명하는 버퍼에 직접 씁니다.
출력 버퍼 길이
MDL의 길이입니다.
상태 블록
읽기에 성공하면 드라이버는 상태 STATUS_SUCCESS 설정하고 정보 전송된 바이트 수로. 읽기에 실패하면 드라이버는 Information 0으로 설정하고 상태 STATUS_INVALID_PARAMETER, STATUS_INSUFFICIENT_RESOURCES 또는 STATUS_INVALID_DEVICE_REQUEST 설정합니다.
요구 사항
요구 | 값 |
---|---|
헤더 | ntddcdrm.h(Ntddcdrm.h 포함) |