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 之前,微型端口驱动程序应调用 ScsiPortWmiPostProcess 以更新请求上下文的 ReturnStatus 和 ReturnSize 成员。 微型端口驱动程序通过调用 ScsiPortWmiGetReturnSize 和 ScsiPortWmiGetReturnStatus 将 SRB 的数据传输长度和状态更新为这些值。 与上文 XML 文件分别对应。
请求上下文必须在整个 SRB 处理过程中保持有效。 如果 SRB 可以笔,微型端口驱动程序必须从 SRB 扩展分配SCSIWMI_REQUEST_CONTEXT结构,以便在 SRB 完成之前保持有效。 对于非附加 SDB,可以从不超出范围的堆栈帧中分配结构。
要求
要求 | 值 |
---|---|
Header | scsiwmi.h (包括 Scsiwmi.h) |