PCEVENT_REQUEST 結構 (portcls.h)
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指標。 此成員包含配接器驅動程式先前傳遞至 IPort::Init 方法的 UnknownMiniport 指標。
MinorTarget
與MajorTarget迷你埠對象相關聯的數據流物件的IUnknown指標。 此成員包含先前從 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 篩選條件上的針腳實例:
- 處理程式可以在MajorTarget物件的IUnknown介面上呼叫QueryInterface,以取得物件的IMiniportWaveCyclic介面參考。
- 處理程式可以在 MinorTarget 物件的 IUnknown 介面上呼叫 QueryInterface,以取得物件的 IMiniportWaveCyclicStream 介面參考。
規格需求
需求 | 值 |
---|---|
標頭 | portcls.h (包括 Portcls.h) |