Partilhar via


IOCTL_CDROM_RAW_READ IOCTL (ntddcdrm.h)

Lê dados do CD-ROM no modo bruto.

Código principal

IRP_MJ_DEVICE_CONTROL

Buffer de entrada

Se o IOCTL for do modo de usuário, Irp->AssociatedIrp.SystemBuffer contém uma estrutura RAW_READ_INFO que especifica o deslocamento de disco inicial, a contagem do setor e o modo de faixa (XA ou CDDA) para a leitura. Parameters.DeviceIoControl.InputBufferLength especifica o tamanho, em bytes, da estrutura, que deve ser >= sizeof(RAW_READ_INFO). Parameters.DeviceIoControl.OutputBufferLength especifica o tamanho do buffer a ser lido, que deve ser >= sizeof(SectorCount * RAW_SECTOR_SIZE).

Se o IOCTL for do modo kernel, Parameters.DeviceIoControl.Type3InputBuffer conterá uma estrutura que especifica o deslocamento de disco inicial, a contagem do setor e o modo de faixa (XA ou CDDA) para a leitura. Parameters.DeviceIoControl.OutputBufferLength especifica o tamanho do buffer, em bytes, a ser lido, que deve ser >= sizeof(SectorCount * RAW_SECTOR_SIZE).

Comprimento do buffer de entrada

Veja acima.

Buffer de saída

O driver grava os bytes solicitados diretamente (usando DMA ou PIO) no buffer descrito pelo MDL em Irp->MdlAddress.

Comprimento do buffer de saída

Comprimento de um MDL.

Bloco de status

Se a leitura for bem-sucedida, o driver definirá status como STATUS_SUCCESS e de informações para o número de bytes transferidos. Se a leitura não for bem-sucedida, o driver definirá de Informações como zero e Status para possivelmente STATUS_INVALID_PARAMETER, STATUS_INSUFFICIENT_RESOURCES ou STATUS_INVALID_DEVICE_REQUEST.

Requisitos

Requisito Valor
cabeçalho ntddcdrm.h (inclua Ntddcdrm.h)

Consulte também

RAW_READ_INFO