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音訊中,事件要求的目標可以是釘選實例,但不能是篩選實例。 目標也可以包含節點識別碼。

MajorTargetMinorTarget 成員分別是主要迷你埠物件的 IUnknown 指標和相關聯的數據流物件。 事件處理程式可以查詢這些物件的迷你埠和數據流介面。

例如,如果事件要求的目標為 WaveCyclic 篩選條件上的針腳實例:

規格需求

需求
標頭 portcls.h (包括 Portcls.h)

另請參閱

EventHandler

IPortEvents::AddEventToEventList

KSEVENT_ENTRY

PCEVENT_ITEM

PCFILTER_NODE