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

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

要求內容在整個SRB處理期間必須保持有效。 如果 SRB 可以畫筆,迷你埠驅動程式必須從 SRB 擴充功能配置SCSIWMI_REQUEST_CONTEXT結構,使其維持有效狀態,直到 SRB 完成為止。 針對非附加 SRB,結構可以從未超出範圍的堆疊框架配置。

規格需求

需求
標頭 scsiwmi.h (包含 Scsiwmi.h)

另請參閱

ScsiPortWmiDispatchFunction

ScsiPortWmiGetReturnSize

ScsiPortWmiGetReturnStatus

ScsiPortWmiPostProcess