IOCTL_CHANGER_GET_ELEMENT_STATUS IOCTL (ntddchgr.h)
傳回所有項目的狀態,或特定類型之指定項目數目的狀態。
如需可能項目類型的描述,請參閱 CHANGER_ELEMENT。
主要程序代碼
輸入緩衝區
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) |