Partager via


IOCTL_CDROM_RAW_READ IOCTL (ntddcdrm.h)

Lit les données du CD-ROM en mode brut.

Code principal

IRP_MJ_DEVICE_CONTROL

Mémoire tampon d’entrée

Si le IOCTL provient du mode utilisateur, Irp->AssociatedIrp.SystemBuffer contient une structure RAW_READ_INFO qui spécifie le décalage du disque de départ, le nombre de secteurs et le mode de suivi (XA ou CDDA) pour la lecture. Parameters.DeviceIoControl.InputBufferLength spécifie la taille, en octets, de la structure, qui doit être >= sizeof(RAW_READ_INFO). Parameters.DeviceIoControl.OutputBufferLength spécifie la taille de la mémoire tampon à lire, qui doit être >= sizeof(SectorCount * RAW_SECTOR_SIZE).

Si le IOCTL provient du mode noyau, Parameters.DeviceIoControl.Type3InputBuffer contient une structure qui spécifie le décalage du disque de démarrage, le nombre de secteurs et le mode de suivi (XA ou CDDA) pour la lecture. Parameters.DeviceIoControl.OutputBufferLength spécifie la taille de la mémoire tampon, en octets, à lire, qui doit être >= sizeof(SectorCount * RAW_SECTOR_SIZE).

Longueur de la mémoire tampon d’entrée

Voir ci-dessus.

Mémoire tampon de sortie

Le pilote écrit directement les octets demandés (à l’aide de DMA ou PIO) dans la mémoire tampon décrite par mdL à Irp->MdlAddress.

Longueur de la mémoire tampon de sortie

Longueur d’un MDL.

Bloc d’état

Si la lecture réussit, le pilote définit 'état sur STATUS_SUCCESS et Informations sur le nombre d’octets transférés. Si la lecture n’est pas réussie, le pilote définit Informations sur zéro et Status pour STATUS_INVALID_PARAMETER, STATUS_INSUFFICIENT_RESOURCES ou STATUS_INVALID_DEVICE_REQUEST.

Exigences

Exigence Valeur
d’en-tête ntddcdrm.h (include Ntddcdrm.h)

Voir aussi

RAW_READ_INFO