IOCTL_CDROM_GET_CONFIGURATION IOCTL (ntddcdrm.h)

從 CD-ROM 裝置要求功能和設定檔資訊。

多媒體裝置會根據裝置中的媒體類型而有不同的特性。 為了提供驅動程式查詢這些不同特性的多媒體裝置的方法, SCSI 多媒體 - 3 (MMC-3) 規格會定義稱為“GET CONFIGURATION” 的命令。此命令可讓驅動程式查詢裝置,以取得裝置的永久資訊,以及每當媒體變更時會有所不同的資訊。 在 Microsoft Windows 2000 和更新版本的作業系統中,驅動程式可以使用IOCTL_CDROM_GET_CONFIGURATION要求將此查詢傳送至裝置。

IOCTL_CDROM_GET_CONFIGURATION要求會傳回描述目前媒體裝置功能的描述項清單。 這些描述項分成兩個群組,稱為「功能描述元」和「配置檔清單描述元」。功能會指定裝置及其相關聯媒體的功能。 配置檔是功能集合。 如果裝置支援配置檔,它支援配置檔中的所有功能。

如需功能和配置檔的進一步討論,請參閱 MMC-3 規格。

主要程序代碼

IRP_MJ_DEVICE_CONTROL

輸入緩衝區

輸入緩衝區。

輸入緩衝區長度

IO_STACK_LOCATION結構中的 Parameters.DeviceIoControl.InputBufferLength 表示輸入緩衝區的大小,以位元組為單位,這必須是 = sizeof (GET_CONFIGURATION_IOCTL_INPUT) 。

輸出緩衝區

驅動程式會在 Irp-AssociatedIrp.SystemBuffer> 的緩衝區中傳回功能和設定檔數據。 數據會以類型 為 GET_CONFIGURATION_HEADER的標頭開頭。 功能數據會在緊接在此標頭之後的空間中報告。 其大小和格式取決於報告的功能。

輸出緩衝區長度

I/O 堆棧位置中的 Parameters.DeviceIoControl.OutputBufferLength 表示緩衝區的大小,以位元組為單位,這必須是 >= sizeof (GET_CONFIGURATION_HEADER) 。

狀態區塊

[資訊] 位元位會設定為傳回的位元組數目。 如果要求成功,[ 狀態 ] 字段會設定為 STATUS_SUCCESS。 如果 Parameters.DeviceIoControl.InputBufferLength 沒有正確的值,要求就會失敗,並出現STATUS_INFO_LENGTH_MISMATCH錯誤。 如果 Parameters.DeviceIoControl.OutputBufferLength 不夠大,要求就會失敗,並出現STATUS_BUFFER_TOO_SMALL錯誤。 如果輸出緩衝區的值太大,要求會失敗STATUS_INVALID_BUFFER_SIZE訊息。

規格需求

需求
標頭 ntddcdrm.h (包含 Ntddcdrm.h)

另請參閱

GET_CONFIGURATION_HEADER

GET_CONFIGURATION_IOCTL_INPUT