使用媒體基礎事件模型

Windows媒體 DRM 用戶端擴充 API 所支援的非同步方法會使用相同的媒體基礎 SDK 所使用的事件模型。 每個支援非同步方法的物件都會實作 IWMDRMEventGenerator 介面,這可用於在非同步作業完成時擷取事件。

IWMDRMEventGenerator介面繼承自IMFMediaEventGenerator介面,其記載于 Media Foundation SDK 檔中。

DRM 個人化範例中的範例程式碼會使用IMFMediaEventGenerator::GetEvent方法一次從佇列擷取事件。 使用 GetEvent 比使用 IMFMediaEventGenerator::BeginGetEventIMFMediaEventGenerator::EndGetEvent 搭配回呼更為簡單,這可讓程式碼範例更容易瞭解。 無論您是在程式碼中使用 GetEvent ,還是實作 IMFAsyncCallback 並使用 BeginGetEvent 和 EndGetEvent ,在收到 事件之後處理事件的邏輯都相同。

數個非同步方法會產生包含物件參考的事件,這些物件可用來取得更詳細的狀態資訊。 在這些情況下,產生的事件具有 IUnknown 指標作為其值,可查詢以擷取狀態介面。 下列清單摘要說明非同步呼叫、產生的事件和其他介面之間的關聯性。

DRM 個人化範例

快速入門

媒體基礎 SDK 檔