共用方式為


強制規範家長管理級別

[與此頁面相關聯的功能,DirectShow是舊版功能。 它已被 MediaPlayerIMFMediaEngine和媒體基礎中的 音訊/視訊擷取取代。 這些功能已針對 Windows 10 和 Windows 11 進行優化。 Microsoft強烈建議新程式代碼盡可能在媒體 基礎中使用 MediaPlayerIMFMediaEngine 音訊/視訊擷取,而不是 DirectShow。 Microsoft建議使用舊版 API 的現有程式代碼,盡可能改寫成使用新的 API。]

DVD-Video 光碟上任何標題或部分,都可以從 1 到 8 指派一般家長管理層級 (PML)。 當 DVD 導覽器正在讀取含有 PML 的內容時,可說它處於 家長控制區塊。 家長區塊可能由章節的一部分、多個章節,或多個標題組成。 用於國際市場的 DVD 應用程式不應將特定的分級系統硬編碼進其家長管理邏輯。

DVD 導覽器本身不會強制執行 PML;它只會在應用程式遇到光碟上的 PML 資訊時通知您的應用程式。根據預設,它會忽略光碟上的這項資訊,並播放最高層級的內容。 若要強制執行 PML,您的應用程式必須實作某種形式的密碼控制邏輯,以將使用者與層級產生關聯、指示 DVD Navigator 傳送 PML 事件通知(藉由在啟動時呼叫 IDvdControl2::SetOption 方法,並使用參數DVD_NotifyParentalLevelChange和 TRUE),並回應這些事件以允許或不允許適當存取。

DVD 標題可以有一個整體 PML,但光碟作者可為該標題的某些區段設定更高或更嚴格的 PML。 這些命令稱為臨時 PML 命令,這些命令始終包含兩個分支指令:一個是當播放器接受這個命令,另一個是當命令被拒絕時要遵循的。 事件的順序如下所示。 DVD 導覽器會在光碟上遇到暫時 PML 命令時,正在讀取視訊內容 (DVD 標題網域)。它會檢查其內部旗標,以查看應用程式是否已要求收到此事件的通知。 如果未設定旗標,DVD 會繼續播放,並遵循光碟上指定的「家長層級變更已拒絕」分支。如果設定旗標,DVD 會將EC_DVD_PARENTAL_LEVEL_CHANGE事件傳送至應用程式,並等候處於暫停狀態,直到收到響應為止。 當應用程式收到事件時,它會使用自己的邏輯來判斷是否接受命令。 然後,它會呼叫 IDvdControl2::AcceptParentalLevelChange,並傳遞參數 TRUEFALSE。 如果 TRUE,DVD 導覽器會繼續播放,並遵循光碟上指定的「家長層級變更接受」分支。否則,它會繼續播放,並遵循「家長層級變更被拒絕」分支。

DVD 應用程式