次の方法で共有


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 を完了する前に、ミニポート ドライバーが要求コンテキストの ReturnStatus および ReturnSize メンバーを更新する ScsiPortWmiPostProcess を呼び出す必要があります。 ミニポート ドライバーは、 ScsiPortWmiGetReturnSize と ScsiPortWmiGetReturnStatus を呼び出すことによって、SRB のデータ転送の長さと状態 これらの値に更新します。 です。

要求コンテキストは、SRB の処理全体で有効なままである必要があります。 SRB にペンを設定できる場合、ミニポート ドライバーは SRB 拡張機能からSCSIWMI_REQUEST_CONTEXT構造体を割り当てる必要があります。SRB が完了するまで有効なままです。 保留中でない SRB の場合、スコープ外に出ないスタック フレームから構造体を割り当てることができます。

要件

要件
Header scsiwmi.h (Scsiwmi.h を含む)

こちらもご覧ください

ScsiPortWmiDispatchFunction

ScsiPortWmiGetReturnSize

ScsiPortWmiGetReturnStatus

ScsiPortWmiPostProcess