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