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 來更新要求內容的 ReturnStatus 和 ReturnSize 成員。 迷你埠驅動程式會呼叫 ScsiPortWmiGetReturnSize 和 ScsiPortWmiGetReturnStatus,以更新 SRB 的數據傳輸長度和狀態。 。
要求內容在整個SRB處理期間必須保持有效。 如果 SRB 可以畫筆,迷你埠驅動程式必須從 SRB 擴充功能配置SCSIWMI_REQUEST_CONTEXT結構,使其維持有效狀態,直到 SRB 完成為止。 針對非附加 SRB,結構可以從未超出範圍的堆疊框架配置。
規格需求
需求 | 值 |
---|---|
標頭 | scsiwmi.h (包含 Scsiwmi.h) |