SRB_IO_CONTROL結構 (ntddscsi.h)
注意 SCSI 埠驅動程式和 SCSI 迷你埠驅動程式模型未來可能會改變或無法使用。 相反地,我們建議使用 Storport 驅動程式 和 Storport 迷你埠 驅動程式模型。
語法
typedef struct _SRB_IO_CONTROL {
ULONG HeaderLength;
UCHAR Signature[8];
ULONG Timeout;
ULONG ControlCode;
ULONG ReturnCode;
ULONG Length;
} SRB_IO_CONTROL, *PSRB_IO_CONTROL;
成員
HeaderLength
是 sizeof (SRB_IO_CONTROL) 。
Signature[8]
識別此要求的應用程式專用目標 HBA。 此簽章可用來防止 廠商之間的ControlCode 值發生衝突。 它應該是 ASCII 字元的字串。 如果迷你埠驅動程式無法辨識輸入 簽章 值,則必須以狀態SRB_STATUS_INVALID_REQUEST完成要求。
Timeout
指出要求可以在OS特定埠驅動程式視為逾時之前執行的間隔,以秒為單位。迷你埠驅動程式應該強制執行SRB_IO_CONTROL逾時,特別是針對任何私用定義的SRB_IO_CONTROL。
ControlCode
指出要執行的作業。 沒有系統定義的作業。 驅動程式必須將值定義為一組私人 I/O 控制程式代碼,應用程式可以藉由呼叫 Win32 DeviceIoControl 函式來提出要求。 如需為裝置控制要求定義私人 I/O 控制碼的詳細資訊,請參閱 使用 I/O 控制程式代碼。
ReturnCode
傳回狀態代碼以供要求應用程式檢查。
Length
指出緊接在數據區域後面的 位元元組大小。 此區域可針對特定作業分割成輸入和輸出區域。 針對輸入要求,DataBuffer 的內容會複製到要求者,最多會複製到 DataTransferLength 的傳回值。
備註
應用程式會使用此結構,將要求直接傳送至應用程式專用 HBA。 請注意,這類應用程式也必須設定要求來編寫其專用 HBA 的程式。
規格需求
需求 | 值 |
---|---|
標頭 | ntddscsi.h (包含 Ntddscsi.h) |
另請參閱
SCSI 埠 I/O 控制碼