структура 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
Указывает экспортируемый ИНТЕРФЕЙС.
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 (включая Swenum.h) |