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) |