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的參數緩衝區大小,>= sizeofSTORAGE_PROPERTY_QUERY)。

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

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

輸入緩衝區長度

Parameters.DeviceIoControl.InputBufferLength 會指出 Irp->AssociatedIrp.SystemBuffer的參數緩衝區大小,>= sizeofSTORAGE_PROPERTY_QUERY)。

輸出緩衝區

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

輸出緩衝區長度

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

狀態區塊

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

要求

要求 價值
標頭 ntddstor.h (include Ntddstor.h)

另請參閱

STORAGE_DESCRIPTOR_HEADER

STORAGE_PROPERTY_QUERY

STORAGE_RPMB_DATA_FRAME