SRB_IO_CONTROL結構 (ntddscsi.h)

注意 SCSI 連接埠驅動程式和 SCSI 迷你埠驅動程式模型未來可能會改變或無法使用。 相反地,我們建議使用 Storport 驅動程式Storport miniport 驅動程式模型。
 

語法

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 字元的字串。 如果迷你埠驅動程式無法辨識輸入 Signature 值,則必須完成狀態為 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 控制碼

SCSI_REQUEST_BLOCK