Partager via


IOCTL_CDROM_GET_CONFIGURATION IOCTL (ntddcdrm.h)

Demande des informations de fonctionnalité et de profil à partir d’un appareil CD-ROM.

Les appareils multimédias ont des caractéristiques différentes en fonction du type de média qui se trouve dans l’appareil. Pour fournir aux pilotes un moyen d’interroger des périphériques multimédias sur ces caractéristiques variables, la spécification SCSI Multimedia - 3 (MMC-3) définit une commande appelée « GET CONFIGURATION ». Cette commande permet aux pilotes d’interroger un appareil pour obtenir des informations permanentes sur l’appareil et les informations qui varient chaque fois que le média change. Dans les systèmes d’exploitation Microsoft Windows 2000 et ultérieurs, les pilotes peuvent envoyer cette requête à un appareil à l’aide de la requête IOCTL_CDROM_GET_CONFIGURATION.

La requête IOCTL_CDROM_GET_CONFIGURATION retourne une liste de descripteurs qui décrivent les fonctionnalités de l’appareil pour le support actuel. Ces descripteurs sont divisés en deux groupes appelés « descripteurs de fonctionnalité » et « descripteurs de liste de profils ». Une fonctionnalité spécifie les fonctionnalités d’un appareil et de son support associé. Un profil est une collection de fonctionnalités. Si l’appareil prend en charge un profil, il prend en charge toutes les fonctionnalités du profil.

Pour plus d’informations sur les fonctionnalités et les profils, consultez la spécification MMC-3.

Code principal

IRP_MJ_DEVICE_CONTROL

Mémoire tampon d’entrée

Mémoire tampon d’entrée.

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

Parameters.DeviceIoControl.InputBufferLength dans la structure IO_STACK_LOCATION indique la taille, en octets, de la mémoire tampon d’entrée, qui doit être = sizeof(GET_CONFIGURATION_IOCTL_INPUT).

Mémoire tampon de sortie

Le pilote retourne les données de fonctionnalité et de profil dans la mémoire tampon à Irp->AssociatedIrp.SystemBuffer. Les données commencent par un en-tête de type GET_CONFIGURATION_HEADER. Les données de fonctionnalité sont signalées dans l’espace immédiatement après cet en-tête. Sa taille et sa mise en forme dépendent des fonctionnalités signalées.

Longueur de la mémoire tampon de sortie

Parameters.DeviceIoControl.OutputBufferLength dans l’emplacement de la pile d’E/S indique la taille, en octets, de la mémoire tampon, qui doit être >= sizeof(GET_CONFIGURATION_HEADER).

Bloc d’état

Le champ Informations est défini sur le nombre d’octets retournés. Le champ Status est défini sur STATUS_SUCCESS si la requête réussit. Si le Parameters.DeviceIoControl.InputBufferLength n’a pas la valeur correcte, la requête échoue avec une erreur STATUS_INFO_LENGTH_MISMATCH. Si Parameters.DeviceIoControl.OutputBufferLength n’est pas suffisamment volumineux, la requête échoue avec une erreur STATUS_BUFFER_TOO_SMALL. Si la valeur de la mémoire tampon de sortie est trop volumineuse, la requête échoue à un message STATUS_INVALID_BUFFER_SIZE.

Exigences

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

Voir aussi

GET_CONFIGURATION_HEADER

GET_CONFIGURATION_IOCTL_INPUT