SCSI_PNP_REQUEST_BLOCK構造体 (srb.h)
SCSI_PNP_REQUEST_BLOCK 構造体は、プラグ アンド プレイ (PNP) 要求に使用される特別なバージョンの SCSI_REQUEST_BLOCK です。
構文
typedef struct _SCSI_PNP_REQUEST_BLOCK {
USHORT Length;
UCHAR Function;
UCHAR SrbStatus;
UCHAR PnPSubFunction;
UCHAR PathId;
UCHAR TargetId;
UCHAR Lun;
STOR_PNP_ACTION PnPAction;
ULONG SrbFlags;
ULONG DataTransferLength;
ULONG TimeOutValue;
PVOID DataBuffer;
PVOID SenseInfoBuffer;
struct _SCSI_REQUEST_BLOCK *NextSrb;
PVOID OriginalRequest;
PVOID SrbExtension;
ULONG SrbPnPFlags;
ULONG Reserved;
UCHAR Reserved4[16];
} SCSI_PNP_REQUEST_BLOCK, *PSCSI_PNP_REQUEST_BLOCK;
メンバーズ
Length
SCSI_PNP_REQUEST_BLOCK 構造体のサイズ (バイト単位)。
Function
実行する操作。 SCSI_PNP_REQUEST_BLOCK 構造体の場合、このメンバーは常に SRB_FUNCTION_PNP に設定されます。
SrbStatus
完了した要求の状態。 ミニポート ドライバーは、要求が完了したことを Storport ドライバーに通知する前に、この値を設定する必要があります。 ミニポート ドライバーは、StorPortNotification ルーチンを呼び出して要求が完了したことを Storport ドライバーに通知 RequestCompleteの通知の種類です。 使用可能な状態値の一覧については、SCSI_REQUEST_BLOCKを参照してください。
PnPSubFunction
このメンバーは現在使用されていません。 ミニポート ドライバーは、このメンバーを無視します。
PathId
要求の SCSI ポートまたはバス識別子。 この値は 0 から始まります。
TargetId
バス上のターゲット コントローラーまたはデバイス識別子。
Lun
デバイスの論理ユニット番号 (LUN)。
PnPAction
実行するプラグ アンド プレイ アクション。 このメンバーには、次のいずれかの値を指定できます。
SrbFlags
ミニポート ドライバーは、このメンバーを無視する必要があります。
DataTransferLength
ミニポート ドライバーは、このメンバーを無視する必要があります。
TimeOutValue
Storport ドライバーが要求がタイムアウトしたと判断するまでに要求を実行できる間隔 (秒単位)。
DataBuffer
ミニポート ドライバーは、このメンバーを無視する必要があります。
SenseInfoBuffer
ミニポート ドライバーは、このメンバーを無視する必要があります。
NextSrb
ミニポート ドライバーは、このメンバーを無視する必要があります。
OriginalRequest
ミニポート ドライバーは、このメンバーを無視する必要があります。
SrbExtension
SRB 拡張機能へのポインター。 ミニポート ドライバーは、SrbExtensionSize HW_INITIALIZATION_DATA 構造体 0 に設定する場合は、このメンバーを使用できません。 Storport ドライバーは、このメンバーが指すメモリを初期化しません。 HBA は、ミニポート ドライバーが SRB 拡張機能に書き込むデータに直接アクセスできます。 ミニポート ドライバーは、StorPortGetPhysicalAddress ルーチンを呼び出すことによって、SRB 拡張機能の物理アドレスを取得できます。
SrbPnPFlags
PNP フラグ。 現在、許可されるフラグはSRB_PNP_FLAGS_ADAPTER_REQUESTのみです。これは、PNP 要求がアダプター用であり、アダプター上のデバイスの 1 つを対象としないことを示します。 このフラグが設定されている場合、ミニポート ドライバーは、PathId、TargetId、および Lunの値を無視する必要があります。
Reserved
システム用に予約されています。
Reserved4[16]
システム用に予約されています。
備考
Storport ドライバーは、アダプターに接続されている記憶域デバイスに影響を与える Windows プラグ アンド プレイ イベントのミニポート ドライバーに通知するミニポート ドライバーに SCSI_PNP_REQUEST_BLOCK 要求を送信します。
Storport ドライバーは、ミニポート ドライバー SRB を渡すために HwStorBuildIo を呼び出します。 HwStorBuildIo は、SRB のメンバー 関数をチェックして、SRB の型を判断します。 Function メンバーが SRB_FUNCTION_PNP に設定されている場合、SRB は SCSI_PNP_REQUEST_BLOCK型の構造体です。
必要条件
要件 | 価値 |
---|---|
ヘッダー | srb.h (Storport.h、Minitape.h、Srb.h を含む) |
関連項目
HwStorBuildIo の
StorPortNotification の