共用方式為


IPortEvents 介面 (portcls.h)

IPortEvents迷你埠驅動程式會使用此介面來通知用戶端硬體事件。 在 Windows 98/Me 和 Windows 2000 和更新版本中,portcls.sys 中的所有埠驅動程式都會實作此介面,並將其公開給迷你埠驅動程式。 若要判斷埠驅動程式是否支援 IPortEvents 介面,迷你埠驅動程式會使用 REFIID IID_IPortEvents呼叫 IPortXxx 物件的 QueryInterface 方法。 IPortEvents 繼承自 IUnknown 介面。

驅動程式通常會使用 IPortEvents 介面來通知系統硬體產生的磁碟區或靜音變更,不過 IPortEvents 可用於任何類型的事件通知。 IPortEvents 介面是選擇性的下邊緣埠驅動程式介面。 例如,它可用來通知 混音器 應用程式控制或混音器線變更。 如需混合器 API 的相關信息,請參閱 Microsoft Windows SDK 檔。

迷你埠驅動程式會以公開屬性的方式公開事件:透過自動化數據表 (請參閱 PCAUTOMATION_TABLE) 。 下列物件是迷你埠驅動程序公開的所有物件,可以指定包含屬性和/或事件的自動化數據表:

  • 迷你埠驅動程式所實作的篩選
  • 篩選條件公開的每個針腳
  • 篩選條件公開的每個節點
自動化數據表中的每個事件專案都是類型 PCEVENT_ITEM 結構,指定下列專案:
  • 事件集
  • 集合內的事件
  • 指出支援選項的旗標
  • 事件處理程式的函式指標
一旦啟動配接器驅動程式,且其埠/迷你埠驅動程式組已向系統註冊為篩選, WDMAud 系統驅動程式會將 混音器 API 呼叫轉譯成 KS 命令至 WDM 音頻驅動程式,將會開啟每個埠/迷你埠驅動程式配對並詢問其功能。 在此程式中,WDMAud 會周遊迷你埠驅動程序的篩選拓撲,以搜尋支援硬體事件的控制節點。 事件是由事件集 GUID KSEVENTSETID_AudioControlChange 和事件標識碼的組合來表示 KSEVENT_CONTROL_CHANGE。 當 WdmAud 找到這些專案時,它會啟用事件,有效地將本身註冊為事件的用戶端。 接著,每當迷你埠驅動程序發出事件訊號時,這會通知 WDMAud,這會為其用戶端產生適當的視窗訊息。

除了在自動化數據表中公開事件之外,需要公開事件的迷你埠驅動程式應該查詢埠驅動程式的 IPortEvents 介面。

本節也會描述處理事件要求的下列例程:

EventHandler

繼承

IPortEvents 介面繼承自 IUnknown 介面。

方法

IPortEvents 介面具有這些方法。

 
IPortEvents::AddEventToEventList

AddEventToEventList 方法會將事件新增至埠驅動程式的事件清單。
IPortEvents::GenerateEventList

GenerateEventList 方法會透過發生特定事件的埠驅動程式事件專案清單通知用戶端。

規格需求

需求
目標平台 Windows
標頭 portcls.h