IOCTL_STORAGE_QUERY_PROPERTY IOCTL (ntddstor.h)

驅動程式可以使用 IOCTL_STORAGE_QUERY_PROPERTY 傳回儲存設備或配接器的屬性。 要求會指出要擷取的資訊類型,例如裝置的查詢數據或適配卡的功能和限制。 IOCTL_STORAGE_QUERY_PROPERTY 也可以用來判斷埠驅動程式是否支援特定屬性,或是可以使用後續的變更屬性要求來修改屬性描述元中的哪些欄位。

主要程序代碼

IRP_MJ_DEVICE_CONTROL

輸入緩衝區

Parameters.DeviceIoControl.InputBufferLength 指出 Irp-AssociatedIrp.SystemBuffer> 的參數緩衝區大小,其大小必須為 >= sizeof (STORAGE_PROPERTY_QUERY) 。

Irp->AssociatedIrp.SystemBuffer 包含 STORAGE_PROPERTY_QUERY 數據,指定要查詢裝置或配接器、要執行的查詢類型,以及查詢所需的任何其他參數,例如特定 SCSI 模式感知頁面的頁面代碼。 裝置屬性只能從裝置擷取;嘗試從適配卡擷取裝置屬性會造成錯誤。

Parameters.DeviceIoControl.OutputBufferLength 指出可寫入 Irp-AssociatedIrp.SystemBuffer> 的位元元數目。 OutputBufferLength 可以是零,以判斷屬性是否存在,而不擷取其數據。

輸入緩衝區長度

Parameters.DeviceIoControl.InputBufferLength 指出 Irp-AssociatedIrp.SystemBuffer> 的參數緩衝區大小,其大小必須為 >= sizeof (STORAGE_PROPERTY_QUERY) 。

輸出緩衝區

驅動程式會將查詢數據傳回至 Irp-AssociatedIrp.SystemBuffer> 的緩衝區。 您可以將不同數量的總線特定資料附加至 結構。

輸出緩衝區長度

將傳回的結構轉換成 STORAGE_DESCRIPTOR_HEADER ,並檢查其 Size 成員,以判斷結構實際需要的位元元組數目。

狀態區塊

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

規格需求

需求
標頭 ntddstor.h (包含 Ntddstor.h)

另請參閱

STORAGE_DESCRIPTOR_HEADER

STORAGE_PROPERTY_QUERY

STORAGE_RPMB_DATA_FRAME