PCEVENT_ITEM 結構 (portcls.h)

PCEVENT_ITEM 結構是用來描述特定篩選、釘選或節點所支援的事件。

語法

typedef struct {
  const GUID         *Set;
  ULONG              Id;
  ULONG              Flags;
  PCPFNEVENT_HANDLER Handler;
} PCEVENT_ITEM, *PPCEVENT_ITEM;

成員

Set

指定事件集。 這個成員是可唯一識別事件集之 GUID 的指標。 請參閱 音訊驅動程式事件集中的事件集 GUID 清單。

Id

指定事件識別碼。 此成員會識別事件集內的事件專案。 如果事件集包含 N 個專案,則有效的事件標識碼是範圍 0 到 N-1 的整數。

Flags

指定事件的類型。 這個成員會設定為下列其中一個值:

PCEVENT_ITEM_FLAG_ENABLE

指出應該為此事件類型啟用事件通知。 驅動程式應該會繼續事件通知,直到客戶端明確停用它為止。

PCEVENT_ITEM_FLAG_ONESHOT

表示應該只針對此事件下一次出現啟用事件通知。 用戶端不會 (,而且不應該在事件發生后) 停用事件。

PCEVENT_ITEM_FLAG_BASICSUPPORT

如果用戶端指定此旗標,則驅動程式會傳回STATUS_SUCCESS,如果它不支援事件,則會傳回錯誤碼。

Handler

迷你埠驅動程式事件處理程式例程的指標。 此成員是類型為 PCPFNEVENT_HANDLER 的函式指標,其定義如下:

  typedef NTSTATUS (*PCPFNEVENT_HANDLER)
  (
      IN PPCEVENT_REQUEST  EventRequest
  );

呼叫 Handler 例程時,呼叫端會傳入單一呼叫參數,這是呼叫端配置 PCEVENT_REQUEST 結構的指標。

備註

PCEVENT_ITEM 結構會指定自動化數據表中的特定事件專案。 PCAUTOMATION_TABLE 結構指向PCEVENT_ITEM結構的陣列。

在WDM音訊中,事件要求的目標為釘選實例或釘選上的節點。 篩選實例不能是事件要求的目標。

規格需求

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

另請參閱

PCAUTOMATION_TABLE

PCEVENT_REQUEST