SCSI_WMILIB_CONTEXT结构(scsiwmi.h)

SCSI_WMILIB_CONTEXT结构为微型端口驱动程序的数据和事件块提供注册信息,并为微型端口驱动程序的 HwScsiWmiXxx 回调例程定义入口点。

注意 SCSI 端口驱动程序和 SCSI 微型端口驱动程序模型将来可能会更改或不可用。 相反,我们建议使用 Storport 驱动程序Storport 微型端口 驱动程序模型。
 

语法

typedef struct _SCSIWMILIB_CONTEXT {
  ULONG                     GuidCount;
  PSCSIWMIGUIDREGINFO       GuidList;
  PSCSIWMI_QUERY_REGINFO    QueryWmiRegInfo;
  PSCSIWMI_QUERY_DATABLOCK  QueryWmiDataBlock;
  PSCSIWMI_SET_DATABLOCK    SetWmiDataBlock;
  PSCSIWMI_SET_DATAITEM     SetWmiDataItem;
  PSCSIWMI_EXECUTE_METHOD   ExecuteWmiMethod;
  PSCSIWMI_FUNCTION_CONTROL WmiFunctionControl;
} SCSI_WMILIB_CONTEXT, *PSCSI_WMILIB_CONTEXT;

成员

GuidCount

指定 GuidListSCSIWMIGUIDREGINFO 数组中的结构数。

GuidList

指向包含每个块注册信息的 GuidCount SCSIWMIGUIDREGINFO 结构的数组。

QueryWmiRegInfo

指向驱动程序 HwScsiWmiQueryReginfo 例程,这是支持 WMI 的微型端口驱动程序所需的入口点。

QueryWmiDataBlock

指向驱动程序的 HwScsiWmiQueryDataBlock 例程,这是支持 WMI 的微型端口驱动程序所需的入口点。

SetWmiDataBlock

指向驱动程序 HwScsiWmiSetDataBlock 例程,这是支持 WMI 的微型端口驱动程序的可选入口点。 如果微型端口驱动程序未实现此例程,则必须将此成员设置为 NULL

SetWmiDataItem

指向驱动程序 HwScsiWmiSetDataItem 例程,这是支持 WMI 的微型端口驱动程序的可选入口点。 如果微型端口驱动程序未实现此例程,则必须将此成员设置为 NULL

ExecuteWmiMethod

指向驱动程序的 HwScsiWmiExecuteMethod 例程,该例程是支持 WMI 的微型端口驱动程序的可选入口点。 如果微型端口驱动程序未实现此例程,则必须将此成员设置为 NULL

WmiFunctionControl

指向驱动程序 HwScsiWmiFunctionControl 例程,这是支持 WMI 的微型端口驱动程序的可选入口点。 如果微型端口驱动程序未实现此例程,则必须将此成员设置为 NULL

言论

支持 WMI 的 SCSI 微型端口驱动程序在其设备扩展中存储初始化的SCSI_WMILIB_CONTEXT结构(或指向此类结构的指针)。 如果每个设备对象提供相同的数据块集,微型端口驱动程序可以对多个设备对象使用相同的SCSI_WMILIB_CONTEXT结构。

当微型端口驱动程序收到一个 SRB,其中 函数 成员设置为SRB_FUNCTION_WMI时,它会使用请求参数调用 ScsiPortWmiDispatchFunction,包括指向初始化SCSI_WMILIB_CONTEXT结构的指针。 ScsiPortWmiDispatchFunction 通过调用微型端口驱动程序的相应 HwScsiWmiXxx 例程来处理请求。

如果微型端口驱动程序未实现可选的 HwScsiWmiXxx 例程,则端口驱动程序会向调用方返回适当的状态。

要求

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

另请参阅

HwScsiWmiExecuteMethod

HwScsiWmiFunctionControl

HwScsiWmiQueryDataBlock

HwScsiWmiQueryReginfo

HwScsiWmiSetDataBlock

HwScsiWmiSetDataItem

SCSIWMIGUIDREGINFO

ScsiPortWmiDispatchFunction