共用方式為


KS 活動

如果您要撰寫 AVStream 迷你驅動程式,請參閱 AVStream 中的事件處理

事件集是接聽程式可以要求通知的相關事件群組。 例如,監聽器可以註冊以接收裝置狀態變更或串流位置變更的通知。 發生事件時,核心串流會通知任何已註冊此事件的用戶端。

迷你驅動程式會藉由提供包含處理常式指標的 KSEVENT_ITEM 結構來描述它們如何支援事件。

監聽器透過呼叫核心串流代理程式 KsSynchronousDeviceControl 並使用 IOCTL_KS_ENABLE_EVENT 控制碼以及指向 KSEVENTKSEVENTDATA 結構的指標來註冊以接收通知。

IOCTL_KS_DISABLE_EVENT要求會停用指定的事件。 必須使用用來啟用事件的相同指標來停用它。 此指標唯一識別事件。 或者,用戶端可以指定 Null 指標和零長度,以停用用戶端的所有作用中事件。

所有事件集都必須支援KSEVENT_TYPE_BASICSUPPORT旗標。 如需可用事件旗標的清單,請參閱 KSEVENT

某些事件類型需要其他參數才能註冊事件通知。 例如,當時鐘達到某個時間戳記時,時鐘上的 KSEVENT_CLOCK_POSITION_MARK 事件會被觸發。 因此,註冊以接收此事件通知的用戶端必須指定觸發事件的時間戳記。

在這種情況下,迷你驅動程式會在 KSEVENTDATA 結構之後的數據緩衝區中傳遞其他數據參數。 支援這類事件類型的迷你驅動程式會使用擴充資料結構,其中第一個成員是 KSEVENTDATA 類型,來保存通知資料。