Поделиться через


структура 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

Указывает количество структур в массиве SCSIWMIGUIDREGINFO в GuidList.

GuidList

Указывает на массив структур GuidCount SCSIWMIGUIDREGINFO, содержащих сведения о регистрации для каждого блока.

QueryWmiRegInfo

Указывает на подпрограмму HwScsiWmiQueryReginfo драйвера, которая является обязательной точкой входа для драйверов мини-портов, поддерживающих WMI.

QueryWmiDataBlock

Указывает на подпрограмму HwScsiWmiQueryDataBlock драйвера, которая является обязательной точкой входа для драйверов мини-портов, поддерживающих WMI.

SetWmiDataBlock

Указывает на подпрограмму HwScsiWmiSetDataBlock драйвера, которая является необязательной точкой входа для драйверов мини-портов, поддерживающих WMI. Если драйвер мини-порта не реализует эту подпрограмму, он должен присвоить этому члену значение NULL.

SetWmiDataItem

Указывает на подпрограмму HwScsiWmiSetDataItem драйвера, которая является необязательной точкой входа для драйверов miniport, поддерживающих WMI. Если драйвер мини-порта не реализует эту подпрограмму, он должен присвоить этому члену значение NULL.

ExecuteWmiMethod

Указывает на подпрограмму HwScsiWmiExecuteMethod драйвера, которая является необязательной точкой входа для драйверов мини-портов, поддерживающих WMI. Если драйвер мини-порта не реализует эту подпрограмму, он должен присвоить этому члену значение NULL.

WmiFunctionControl

Указывает на подпрограмму HwScsiWmiFunctionControl драйвера, которая является необязательной точкой входа для драйверов мини-портов, поддерживающих WMI. Если драйвер мини-порта не реализует эту подпрограмму, он должен присвоить этому члену значение NULL.

Комментарии

Драйвер мини-порта SCSI, поддерживающий WMI, сохраняет инициализированную структуру SCSI_WMILIB_CONTEXT (или указатель на такую структуру) в расширении устройства. Драйвер мини-порта может использовать одну и ту же структуру SCSI_WMILIB_CONTEXT для нескольких объектов устройства, если каждый объект устройства предоставляет один и тот же набор блоков данных.

Когда драйвер мини-порта получает SRB, в котором член функции имеет значение SRB_FUNCTION_WMI, он вызывает ScsiPortWmiDispatchFunction с параметрами запроса, включая указатель на инициализированную структуру SCSI_WMILIB_CONTEXT. ScsiPortWmiDispatchFunction обрабатывает запрос, вызывая соответствующую подпрограмму HwScsiWmiXxxx драйвера мини-порта.

Если драйвер мини-порта не реализует необязательную подпрограмму HwScsiWmiXxxx, драйвер порта возвращает вызывающей объекту соответствующее состояние.

Требования

Требование Значение
Заголовок scsiwmi.h (включая Scsiwmi.h)

См. также раздел

HwScsiWmiExecuteMethod

HwScsiWmiFunctionControl

HwScsiWmiQueryDataBlock

HwScsiWmiQueryReginfo

HwScsiWmiSetDataBlock

HwScsiWmiSetDataItem

SCSIWMIGUIDREGINFO

ScsiPortWmiDispatchFunction