Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Структура PCEVENT_REQUEST указывает запрос на событие.
Синтаксис
typedef struct _PCEVENT_REQUEST {
PUNKNOWN MajorTarget;
PUNKNOWN MinorTarget;
ULONG Node;
const PCEVENT_ITEM *EventItem;
PKSEVENT_ENTRY EventEntry;
ULONG Verb;
PIRP Irp;
} PCEVENT_REQUEST, *PPCEVENT_REQUEST;
Члены
MajorTarget
Указатель IUnknown на основной минипорт-объект. Этот элемент содержит указатель UnknownMiniport , который драйвер адаптера ранее передал методу IPort::Init .
MinorTarget
Указатель IUnknown на объект потока, связанный с минипортом MajorTarget. Этот элемент содержит указатель потока-объекта, который драйвер порта ранее извлекается из метода IMiniportXxx::NewStream (например, параметр IMiniportWaveCyclic::NewStream метода Stream ).
Node
Указывает идентификатор узла. Этот элемент определяет целевой узел запроса. Если целевой объект не является узлом, этот элемент имеет значение ULONG(-1).
EventItem
Указатель на структуру PCEVENT_ITEM для этого запроса
EventEntry
Указатель на структуру KSEVENT_ENTRY для этого запроса
Verb
Указывает тип запроса на событие. Этот элемент должен иметь одно из значений в следующей таблице.
Ценность | Значение |
---|---|
PCEVENT_VERB_ADD | Указывает, что клиент хочет включить указанное событие. После проверки сведений о событии и целевой цели подпрограмма EventHandler добавляет событие, вызвав метод IPortEvents::AddEventToEventList . |
PCEVENT_VERB_REMOVE | Уведомляет EventHandler о том, что событие отключено и удалено из списка. |
PCEVENT_VERB_SUPPORT | Этот запрос является запросом на поддержку. Если минипорт-драйвер поддерживает событие для целевого объекта, определенного в запросе, оно должно завершиться этим запросом. В противном случае запрос должен завершиться ошибкой. |
PCEVENT_VERB_NONE | Никаких действий не требуется. |
Irp
Указатель на IRP , содержащий запрос на событие
Замечания
Это структура, которую драйвер портов передает в подпрограмму EventHandler драйвера мини-порта. Структура PCEVENT_ITEM содержит указатель функции на обработчик событий, который принимает указатель PCEVENT_REQUEST в качестве единственного параметра вызова. Драйвер порта выделяет структуру PCEVENT_REQUEST , извлекает соответствующие сведения из исходного запроса события (на который указывает член Irp ), а также загружает сведения в эту структуру перед вызовом обработчика.
В звуковом формате WDM целевой объект запроса события может быть экземпляром пин-кода, но не экземпляром фильтра. Целевой объект также может содержать идентификатор узла.
Члены MajorTarget и MinorTarget — это указатели IUnknown на основной минипорт и связанный объект потока соответственно. Обработчик событий может запрашивать эти объекты для своих мини-портов и потоковых интерфейсов.
Например, если целевой объект для запроса события является экземпляром закрепления в фильтре WaveCyclic:
- Обработчик может вызвать QueryInterface в интерфейсе IUnknown объекта MajorTarget, чтобы получить ссылку на интерфейс IMiniportWaveCyclic объекта.
- Обработчик может вызвать QueryInterface в интерфейсе IUnknown объекта MinorTarget, чтобы получить ссылку на интерфейс IMiniportWaveCyclicStream объекта.
Требования
Требование | Ценность |
---|---|
Заголовок | portcls.h (include Portcls.h) |