DirectShow 中的 DRM 支援
[與此頁面相關聯的功能 Windows Media Format 11 SDK是舊版功能。 來源讀取器和接收寫入器已取代它。 來源讀取器和接收寫入器已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用來源讀取器和接收寫入器,而不是Windows Media Format 11 SDK。 Microsoft 建議盡可能重寫使用舊版 API 的現有程式碼,以使用新的 API。]
在 DirectShow 中讀取和寫入 DRM 保護的檔案,基本上與直接使用 Windows 媒體格式 SDK 的方式相同。 首先,您需要從 Microsoft 個別取得的 wmstubdrm 靜態程式庫。 此外,您必須實作 IKeyProvider 介面,讓應用程式能夠在啟用 DRM 時存取 Windows Media Format SDK 執行時間物件。
套用 DRM 第 1 版保護時,請使用 IWMHeaderInfo 介面,如 在 DirectShow 中讀取 ASF 檔案中所述。 套用 DRM 第 7 版保護時,請在WM ASF 寫入器篩選器上呼叫QueryService,以取得IWMDRMWriter介面,如本主題稍後的程式碼片段所示。
所有其他 DRM 特定設定都與 啟用 DRM 支援中所述完全相同。 使用QueryService從WM ASF 讀取器篩選器取得IWMDRMReader介面。
DirectX 9.0 包含一個範例 PlayWndASF,這是已啟用 DRM 的 DirectShow 播放機應用程式,示範 DRM 第 1 版和第 7 版授權取得。 此範例也包含 CKeyProvider 類別的實作,其支援 IKeyProvider 介面。