IOCTL_CHANGER_GET_ELEMENT_STATUS IOCTL (ntddchgr.h)

傳回所有項目的狀態,或特定類型之指定項目數目的狀態。

如需可能專案類型的描述,請參閱 CHANGER_ELEMENT

主要程序代碼

IRP_MJ_DEVICE_CONTROL

輸入緩衝區

Irp-AssociatedIrp.SystemBuffer> 上的緩衝區包含CHANGER_READ_ELEMENT_STATUS數據,指出要傳回狀態的專案類型和項目數目。

如果呼叫端將 CHANGER_READ_ELEMENT_STATUS 的 VolumeTagInfo 成員設定為 TRUE,傳回的項目狀態將會包含磁碟區標記資訊。

輸入緩衝區長度

I/O 堆棧位置中的 Parameters.DeviceIoControl.InputBufferLength 表示輸入的參數緩衝區大小,其必須是 >= sizeof (CHANGER_READ_ELEMENT_STATUS) 。

輸出緩衝區

changer miniclass 驅動程式會在 Irp-AssociatedIrp.SystemBuffer> 的緩衝區中傳回 changer 元素狀態數據。 ChangerDrive 類型的某些元素會傳回產品信息數據。 如果裝置提供產品資訊,迷你類別驅動程式將會在類型 為 CHANGER_ELEMENT_STATUS_EX的結構中報告專案狀態數據。 miniclass 驅動程式會在 結構的 Flags 成員中設定ELEMENT_STATUS_PRODUCT_DATA,以指出它包含產品信息數據。 對於 ChangerDrive 以外的所有類型元素,驅動程式會報告類型 CHANGER_ELEMENT_STATUS結構中的項目狀態數據。

輸出緩衝區長度

Parameters.DeviceIoControl.OutputBufferLength 會指出輸出之參數緩衝區的大小,以位元組為單位。 對於 ChangerDrive 類型的元素,此值必須是 >= NumberOfElements * sizeof (CHANGER_ELEMENT_STATUS_EX) 。 對於所有其他類型的元素,此值必須是 >= NumberOfElements * sizeof (CHANGER_ELEMENT_STATUS) 。

狀態區塊

[ 資訊 ] 位元位會設定為傳回的位元組數目。 [ 狀態 ] 欄位會設定為 [STATUS_SUCCESS],或可能設定為 [STATUS_BUFFER_TOO_SMALL]、[STATUS_INFO_LENGTH_MISMATCH]、[STATUS_INSUFFICIENT_RESOURCES]、[STATUS_INVALID_ELEMENT_ADDRESS] 或 [STATUS_INVALID_PARAMETER]。

規格需求

需求
標頭 ntddchgr.h (包含 Ntddchgr.h)

另請參閱

CHANGER_ELEMENT

CHANGER_ELEMENT_STATUS

CHANGER_ELEMENT_STATUS_EX

ChangerGetElementStatus