共用方式為


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 呼叫轉譯為 WDM 音頻驅動程式的 KS 命令,將會開啟每個埠/迷你埠驅動程式組並詢問其功能。 在此程式中,WDMAud 會周遊迷你埠驅動程序的篩選拓撲,以搜尋支援硬體事件的控制節點。 事件是由事件集 GUID KSEVENTSETID_AudioControlChange 和事件識別碼的組合來表示 KSEVENT_CONTROL_CHANGE。 當 WdmAud 找到這些專案時,它會啟用事件,有效地將本身註冊為事件的用戶端。 接著,每次迷你埠驅動程序發出事件訊號時,這會通知 WDMAud,這會為其用戶端產生適當的視窗訊息。

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

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

EventHandler

遺產

IPortEvents 介面繼承自 IUnknown 介面。

方法

IPortEvents 介面具有這些方法。

 
IPortEvents::AddEventToEventList

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

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

要求

要求 價值
目標平臺 窗戶
標頭 portcls.h