IOCTL_CDROM_GET_CONFIGURATION IOCTL (ntddcdrm.h)

Demande des informations sur les fonctionnalités et le profil à partir d’un périphérique CD-ROM.

Les appareils multimédias ont des caractéristiques différentes selon le type de média qui se trouve dans l’appareil. Pour fournir aux pilotes un moyen d’interroger les 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 des informations qui varient chaque fois que le média change. Dans les systèmes d’exploitation Microsoft Windows 2000 et versions ultérieures, les pilotes peuvent envoyer cette requête à un appareil à l’aide de la demande 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 caractéristiques » et « descripteurs de liste de profils ». Une fonctionnalité spécifie les fonctionnalités d’un appareil et 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 sur 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 qui suit immédiatement 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 État est défini sur STATUS_SUCCESS si la demande réussit. Si Parameters.DeviceIoControl.InputBufferLength n’a pas la valeur correcte, la demande échoue avec une erreur de STATUS_INFO_LENGTH_MISMATCH. Si Parameters.DeviceIoControl.OutputBufferLength n’est pas assez volumineux, la demande échoue avec une erreur de STATUS_BUFFER_TOO_SMALL. Si la valeur de la mémoire tampon de sortie est trop grande, la demande échoue à un message STATUS_INVALID_BUFFER_SIZE.

Configuration requise

Condition requise Valeur
En-tête ntddcdrm.h (inclure Ntddcdrm.h)

Voir aussi

GET_CONFIGURATION_HEADER

GET_CONFIGURATION_IOCTL_INPUT