IOCTL_SCSI_MINIPORT IOCTL (ntddscsi.h)
將特殊控制函式傳送至主機總線配接器特定 (HBA) 迷你埠驅動程式。 結果會根據轉送此要求的特定迷你埠驅動程式而有所不同。 如果呼叫端指定非零 長度,則輸入或輸出緩衝區至少必須是 (sizeof(SRB_IO_CONTROL) + DataBufferLength) )。
開啟 HBA 的指定方式是使用 SetupDiXxx API 取得所有執行中的 ScsiAdapter 類別裝置。 取得每個裝置實例名稱的屬性,並直接開啟 HBA。 SCSI%d (例如 \\.\Scsi0:) 是符號連結,而不是所有存儲設備驅動程式建立連結。
注意
未來可能會變更或無法使用 SCSI 埠驅動程式和 SCSI 迷你埠驅動程式模型。 相反地,我們建議使用 Storport 驅動程式 和 Storport miniport 驅動程式模型。
主要程序代碼
輸入緩衝區
Irp->AssociatedIrp.SystemBuffer 的緩衝區必須包含 SRB_IO_CONTROL 結構。
輸入緩衝區長度
Parameters.DeviceIoControl.InputBufferLength 表示緩衝區的大小,其大小至少必須是 sizeof(SRB_IO_CONTROL),如果 Length 字段為非零,則數據的額外記憶體。
輸出緩衝區
更新的 SRB_IO_CONTROL 結構會傳回至 Irp->AssociatedIrp.SystemBuffer的緩衝區。
輸出緩衝區長度
SRB_IO_CONTROL 結構的長度。
輸入/輸出緩衝區
沒有。
輸入/輸出緩衝區長度
不適用。
狀態區塊
Information 位元段包含輸出緩衝區中傳回的位元組數目。 [狀態] 字段會指出作業的結果。
要求
要求 | 價值 |
---|---|
標頭 | ntddscsi.h (包括 Ntddscsi.h) |