IOCTL_CDROM_GET_CONFIGURATION IOCTL (ntddcdrm.h)

Fordert Feature- und Profilinformationen von einem CD-ROM-Gerät an.

Multimediageräte weisen unterschiedliche Merkmale auf, je nachdem, welche Medien sich im Gerät befinden. Um Treibern die Möglichkeit zu bieten, Multimediageräte zu diesen unterschiedlichen Merkmalen abzufragen, definiert die SCSI Multimedia-3-Spezifikation (MMC-3) einen Befehl namens "GET CONFIGURATION". Dieser Befehl ermöglicht es Treibern, ein Gerät sowohl nach dauerhaften Informationen über das Gerät als auch nach Informationen abzufragen, die bei jeder Medienänderung variieren. In Microsoft Windows 2000 und höheren Betriebssystemen können Treiber diese Abfrage mithilfe der IOCTL_CDROM_GET_CONFIGURATION-Anforderung an ein Gerät senden.

Die IOCTL_CDROM_GET_CONFIGURATION Anforderung gibt eine Liste von Deskriptoren zurück, die die Funktionen des Geräts für das aktuelle Medium beschreiben. Diese Deskriptoren sind in zwei Gruppen unterteilt, die "Featuredeskriptoren" und "Profillistendeskriptoren" genannt werden. Ein Feature gibt die Funktionen eines Geräts und des zugehörigen Mediums an. Ein Profil ist eine Sammlung von Features. Wenn das Gerät ein Profil unterstützt, werden alle Features im Profil unterstützt.

Weitere Informationen zu Features und Profilen finden Sie in der MMC-3-Spezifikation .

Hauptcode

IRP_MJ_DEVICE_CONTROL

Eingabepuffer

Eingabepuffer.

Eingabepufferlänge

Parameters.DeviceIoControl.InputBufferLength in der IO_STACK_LOCATION-Struktur gibt die Größe des Eingabepuffers in Bytes an, die = sizeof(GET_CONFIGURATION_IOCTL_INPUT) sein muss.

Ausgabepuffer

Der Treiber gibt die Feature- und Profildaten im Puffer unter Irp-AssociatedIrp.SystemBuffer> zurück. Die Daten beginnen mit einem Header vom Typ GET_CONFIGURATION_HEADER. Featuredaten werden im Bereich direkt nach diesem Header gemeldet. Dessen Größe und Formatierung hängen davon ab, welche Features gemeldet werden.

Länge des Ausgabepuffers

Parameters.DeviceIoControl.OutputBufferLength im E/A-Stapelspeicherort gibt die Größe des Puffers in Bytes an, die = sizeof(GET_CONFIGURATION_HEADER) sein >muss.

Statusblock

Das Feld Information ist auf die Anzahl der zurückgegebenen Bytes festgelegt. Das Feld Status ist auf STATUS_SUCCESS festgelegt, wenn die Anforderung erfolgreich ist. Wenn Parameters.DeviceIoControl.InputBufferLength nicht den richtigen Wert aufweist, schlägt die Anforderung mit einem STATUS_INFO_LENGTH_MISMATCH Fehler fehl. Wenn Parameters.DeviceIoControl.OutputBufferLength nicht groß genug ist, schlägt die Anforderung mit einem STATUS_BUFFER_TOO_SMALL Fehler fehl. Wenn der Wert für den Ausgabepuffer zu groß ist, schlägt die Anforderung eine STATUS_INVALID_BUFFER_SIZE Nachricht fehl.

Anforderungen

Anforderung Wert
Header ntddcdrm.h (include Ntddcdrm.h)

Weitere Informationen

GET_CONFIGURATION_HEADER

GET_CONFIGURATION_IOCTL_INPUT