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

当微型端口驱动程序处理完 SRB 并在完成 SRB 之前,微型端口驱动程序应调用 ScsiPortWmiPostProcess 来更新 ReturnStatus,并 ReturnSize 请求上下文的成员。 微型端口驱动程序通过调用 ScsiPortWmiGetReturnSizeScsiPortWmiGetReturnStatus来更新 SRB 的数据传输长度和状态。 分别。

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

要求

要求 价值
标头 scsiwmi.h (包括 Scsiwmi.h)

另请参阅

ScsiPortWmiDispatchFunction

ScsiPortWmiGetReturnSize

ScsiPortWmiGetReturnStatus

ScsiPortWmiPostProcess