IOCTL_SCSI_GET_CAPABILITIES IOCTL (ntddscsi.h)
傳回基礎 SCSI HBA 的功能和限制。 MaximumTransferLength 和 AlignmentMask 成員中會傳回最重要的資訊。 IOCTL_SCSI_PASS_THROUGH 和 IOCTL_SCSI_PASS_THROUGH_DIRECT的類別驅動程式和 用戶 必須接受這些限制。
只有舊版驅動程式可以發出此要求。 如果要求傳送至埠驅動程式所建立的 PDO,要求就會失敗。
若要取得 SCSI 功能數據,隨插即用 驅動程式必須針對驅動程式已新增 (的每個裝置發出IOCTL_STORAGE_QUERY_PROPERTYSTORAGE_ADAPTER_DESCRIPTOR數據的 PDO 要求,也就是驅動程式收到 AddDevice 呼叫) 。 舊版驅動程序應該將此要求轉送至埠驅動程式。 如果傳送至適配卡的 FDO,此要求就會失敗。
注意 未來可能會變更或無法使用 SCSI 埠驅動程式和 SCSI 迷你埠驅動程式模型。 相反地,我們建議使用 Storport 驅動程式 和 Storport 迷你埠 驅動程式模型。
主要程序代碼
輸入緩衝區
無。
輸入緩衝區長度
無。
輸出緩衝區
更新IO_SCSI_CAPABILITIES資訊會傳回至 Irp-AssociatedIrp.SystemBuffer> 的緩衝區。
輸出緩衝區長度
I/O 堆棧位置中的 Parameters.DeviceIoControl.OutputBufferLength 表示緩衝區的大小,以位元組為單位,這必須是 >= sizeof (IO_SCSI_CAPABILITIES) 。
狀態區塊
[資訊] 欄位包含輸出緩衝區中傳回的位元組數目。 [ 狀態 ] 欄位會指出作業的結果。
規格需求
需求 | 值 |
---|---|
標頭 | ntddscsi.h (包含 Ntddscsi.h) |