SCSIWMI_REQUEST_CONTEXT構造体 (scsiwmi.h)
SCSIWMI_REQUEST_CONTEXT構造体には、WMI SRB のコンテキスト情報が含まれています。
手記
SCSI ポート ドライバーと SCSI ミニポート ドライバー モデルは、今後変更または使用できない可能性があります。 代わりに、Storport ドライバー を使用し、Storport ミニポート ドライバー モデル することをお勧めします。
構文
typedef struct {
PVOID UserContext;
ULONG BufferSize;
PUCHAR Buffer;
UCHAR MinorFunction;
UCHAR ReturnStatus;
ULONG ReturnSize;
} SCSIWMI_REQUEST_CONTEXT, *PSCSIWMI_REQUEST_CONTEXT;
メンバーズ
UserContext
ミニポート ドライバーが SRB を処理するために必要なデータを含むミニポート ドライバー バッファーをポイントします。 ミニポート ドライバーのHW_DEVICE_EXTENSION構造体またはその他のバッファーへのポインターを指定できます。
BufferSize
システム用に予約されており、ミニポート ドライバーでは使用できません。
Buffer
システム用に予約されており、ミニポート ドライバーでは使用できません。
MinorFunction
システム用に予約されており、ミニポート ドライバーでは使用できません。
ReturnStatus
SRB の戻り値の状態を示します。 ミニポート ドライバーが要求コンテキストを更新する ScsiPortWmiPostProcess呼び出した後まで、このメンバーは無効です。
ReturnSize
SRB に転送されたデータのバイト数を示します。 ミニポート ドライバーが要求コンテキストを更新する ScsiPortWmiPostProcess呼び出した後まで、このメンバーは無効です。
備考
ミニポート ドライバーは、関数 メンバーがSRB_FUNCTION_WMIに設定されている SRB を受信すると、要求コンテキストへのポインターを含む、要求パラメーター ScsiPortWmiDispatchFunction を呼び出します。 ScsiPortWmiDispatchFunction は、要求コンテキストをミニポート ドライバーの適切な HwScsiWmiXxx ルーチンに渡します。
ミニポート ドライバーが SRB の処理を完了すると、SRB を完了する前に、ミニポート ドライバーは ScsiPortWmiPostProcess を呼び出して、要求コンテキストの ReturnStatus と ReturnSize メンバー 更新する必要があります。 ミニポート ドライバーは、ScsiPortWmiGetReturnSize を呼び出して、SRB のデータ転送の長さと状態をこれらの値に更新し、ScsiPortWmiGetReturnStatusします。 それぞれ。
要求コンテキストは、SRB の処理全体を通じて有効なままである必要があります。 SRB にペンを付けることができる場合、ミニポート ドライバーは SRB 拡張機能からSCSIWMI_REQUEST_CONTEXT構造体を割り当てる必要があります。SRB が完了するまで有効なままです。 保留中ではない SRB の場合、構造体はスコープ外に出ないスタック フレームから割り当てることができます。
必要条件
要件 | 価値 |
---|---|
ヘッダー | scsiwmi.h (Scsiwmi.h を含む) |
関連項目
ScsiPortWmiDispatchFunctionの
ScsiPortWmiGetReturnStatusの
ScsiPortWmiPostProcessの