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 时,它会使用请求参数(包括指向请求上下文的指针)调用 ScsiPortWmiDispatchFunctionScsiPortWmiDispatchFunction 将请求上下文传递到微型端口驱动程序的相应 HwScsiWmiXxx 例程。

当微型端口驱动程序完成处理 SRB 并在完成 SRB 之前,微型端口驱动程序应调用 ScsiPortWmiPostProcess 以更新请求上下文的 ReturnStatusReturnSize 成员。 微型端口驱动程序通过调用 ScsiPortWmiGetReturnSizeScsiPortWmiGetReturnStatus 将 SRB 的数据传输长度和状态更新为这些值。 与上文 XML 文件分别对应。

请求上下文必须在整个 SRB 处理过程中保持有效。 如果 SRB 可以笔,微型端口驱动程序必须从 SRB 扩展分配SCSIWMI_REQUEST_CONTEXT结构,以便在 SRB 完成之前保持有效。 对于非附加 SDB,可以从不超出范围的堆栈帧中分配结构。

要求

要求
Header scsiwmi.h (包括 Scsiwmi.h)

另请参阅

ScsiPortWmiDispatchFunction

ScsiPortWmiGetReturnSize

ScsiPortWmiGetReturnStatus

ScsiPortWmiPostProcess