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


структура BUS_INTERFACE_SWENUM (swenum.h)

Структура BUS_INTERFACE_SWENUM описывает интерфейс перечислителя шины с нагрузкой спроса.

Синтаксис

typedef struct _BUS_INTERFACE_SWENUM {
  INTERFACE                  Interface;
  PFNREFERENCEDEVICEOBJECT   ReferenceDeviceObject;
  PFNDEREFERENCEDEVICEOBJECT DereferenceDeviceObject;
  PFNQUERYREFERENCESTRING    QueryReferenceString;
} BUS_INTERFACE_SWENUM, *PBUS_INTERFACE_SWENUM;

Члены

Interface

Указывает экспортируемый интерфейс INTERFACE.

ReferenceDeviceObject

Указатель на предоставленный драйвером подпрограмму KsReferenceSoftwareBusObject.

DereferenceDeviceObject

Указатель на предоставленный драйвером подпрограмму KsDereferenceSoftwareBusObject.

QueryReferenceString

Указатель на предоставленный драйвером подпрограмму KsQuerySoftwareBusInterface.

Замечания

Драйвер получает интерфейс BUS_INTERFACE_SWENUM путем создания и отправки запроса IRP_MJ_PNP, указывающего IRP_MN_QUERY_INTERFACE дополнительный код функции. Для этого драйвер должен:

  • Выделение и нулевое заполнение структуры BUS_INTERFACE_SWENUM из пула страниц памяти.
  • Создайте IRP для запроса интерфейса запроса и получите следующее расположение стека для нового IRP.
  • В новом расположении стека укажите указатель на новую структуру BUS_INTERFACE_SWENUM в элементе Parameters.QueryInterface.Interface.
  • Задайте подпрограмму завершения и отправьте запрос вниз по стеку драйверов.
  • Если запрос выполнен успешно, система заполняет структуру BUS_INTERFACE_SWENUM, на которую указывает Parameters.QueryInterface.Interface.

Требования

Требование Ценность
заголовка swenum.h (include Swenum.h)