структура 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 драйвера, которая является необязательной точкой входа для драйверов мини-порта, поддерживающих 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