IOCTL_SCSI_GET_INQUIRY_DATA IOCTL (ntddscsi.h)
傳回指定 SCSI 主機總線適配卡上所有裝置的 SCSI 查詢數據, (HBA) 。 如果在用戶空間中採用IOCTL,程式必須已開啟HBA的句柄,這些句柄可以透過各種方法列舉,例如SetupDixxx呼叫。 您可以使用 IOCTL_STORAGE_QUERY_PROPERTY 來尋找 HBA 上特定裝置的相關信息。 若要判斷所需的輸出緩衝區大小,呼叫端應該在迴圈中傳送這個 IOCTL 要求。 每次儲存堆疊拒絕 IOCTL 時,都會顯示錯誤訊息,指出緩衝區太小,呼叫端應該將緩衝區大小加倍。
注意 SCSI 埠驅動程式和 SCSI 迷你埠驅動程式模型未來可能會改變或無法使用。 相反地,我們建議使用 Storport 驅動程式 和 Storport 迷你埠 驅動程式模型。
主要程序代碼
輸入緩衝區
無。
輸入緩衝區長度
無。
輸出緩衝區
Irp-AssociatedIrp.SystemBuffer> 上的緩衝區包含傳回的查詢數據。 如需輸出緩衝區中查詢數據配置的描述,請參閱 SCSI_ADAPTER_BUS_INFO。
輸出緩衝區長度
Parameters.DeviceIoControl.OutputBufferLength 表示大小, 以位元組為單位的緩衝區,其必須是 >= (sizeof (SCSI_ADAPTER_BUS_INFO) + (NumberOfBuses) * sizeof (SCSI_BUS_DATA) ) + (InquiryDataSize * NumberOfLUs) , 其中 InquiryDataSize (sizeof (SCSI_INQUIRY_DATA) - 1 + INQUIRYDATABUFFERSIZE) 四捨五入為對齊界限。
狀態區塊
[資訊] 欄位包含輸出緩衝區中傳回的位元組數目。 [ 狀態 ] 欄位表示作業的結果。
規格需求
需求 | 值 |
---|---|
標頭 | ntddscsi.h (包含 Ntddscsi.h) |