共用方式為


IOCTL_CHANGER_GET_ELEMENT_STATUS IOCTL (ntddchgr.h)

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

如需可能項目類型的描述,請參閱 CHANGER_ELEMENT

主要程序代碼

IRP_MJ_DEVICE_CONTROL

輸入緩衝區

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

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

輸入緩衝區長度

參數.DeviceIoControl.InputBufferLength 在 I/O 堆棧位置中,會指出輸入的參數緩衝區大小,>= sizeof(CHANGER_READ_ELEMENT_STATUS)。

輸出緩衝區

changer miniclass 驅動程式會在 Irp->AssociatedIrp.SystemBuffer傳回緩衝區中的 changer 元素狀態數據。 ChangerDrive 類型的某些元素 傳回產品信息數據。 如果裝置提供產品資訊,迷你類別驅動程式會報告類型為 CHANGER_ELEMENT_STATUS_EX結構中的專案狀態數據。 迷你類別驅動程式會在 結構 旗標 成員中設定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