共用方式為


SCSIWMI_REQUEST_CONTEXT結構 (scsiwmi.h)

SCSIWMI_REQUEST_CONTEXT 結構包含 WMI SRB 的內容資訊。

注意

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

語法

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 時,函式 成員設定為 SRB_FUNCTION_WMI,它會使用要求參數呼叫 ScsiPortWmiDispatchFunction,包括要求內容的指標。 ScsiPortWmiDispatchFunction 將要求內容傳遞至迷你埠驅動程式的適當 HwScsiWmiXxx 例程。

當迷你埠驅動程式完成處理 SRB 並在完成 SRB 之前,迷你埠驅動程式應該呼叫 ScsiPortWmiPostProcess,以更新 ReturnStatus,並 ReturnSize 要求內容的成員。 迷你埠驅動程式會呼叫 ScsiPortWmiGetReturnSize,並 ScsiPortWmiGetReturnStatus來更新 SRB 的數據傳輸長度和狀態。 分別。

要求內容在整個 SRB 處理過程中必須保持有效。 如果 SRB 可以畫筆,迷你埠驅動程式必須從 SRB 延伸模組配置SCSIWMI_REQUEST_CONTEXT結構,使其維持有效,直到 SRB 完成為止。 針對非附加 SRB,結構可以從未超出範圍的堆疊框架進行配置。

要求

要求 價值
標頭 scsiwmi.h (包括 Scsiwmi.h)

另請參閱

ScsiPortWmiDispatchFunction

ScsiPortWmiGetReturnSize

ScsiPortWmiGetReturnStatus

ScsiPortWmiPostProcess