保護者の管理レベルの適用

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/Video Capture を使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]

DVD-Video ディスク上のタイトルまたはタイトルの一部には、1 から 8 までの汎用ペアレンタル管理レベル (PML) を割り当てることができます。 DVD ナビゲーターが PML を持つコンテンツを読み取っているときは、 親ブロック内にあると言われます。 親ブロックは、チャプター、複数のチャプター、または複数のタイトルの一部で構成される場合があります。 国際市場向けの DVD アプリケーションでは、特定の評価システムをその親管理ロジックにハード コーディングしないでください。

DVD ナビゲーター自体は PML を強制しません。ディスク上で PML 情報が検出されたときにアプリケーションに通知するだけです。既定では、ディスク上のこの情報は無視され、最高レベルのコンテンツが再生されます。 PML を適用するには、アプリケーションでユーザーをレベルに関連付ける何らかの形式のパスワード制御ロジックを実装し、DVD ナビゲーターに PML イベント通知を送信するように指示し (起動時にパラメーター DVD_NotifyParentalLevelChangeと TRUE を指定して IDvdControl2::SetOption メソッドを呼び出して)、それらのイベントに応答して、必要に応じてアクセスを許可または禁止する必要があります。

DVD タイトルは、全体で 1 つの PML を持つことができますが、ディスク作成者は、そのタイトルの特定のセクションを、より制限の厳しい PML に設定できます。 これらは一時的な PML コマンドと呼ばれます。これらのコマンドには、常に 2 つの分岐命令が含まれます。一方は、一時的な PML コマンドがプレーヤー アプリケーションによって受け入れられる場合は従い、もう 1 つはコマンドが拒否された場合に従います。 イベントのシーケンスは次のとおりです。 DVD ナビゲーターは、ディスク上で一時的な PML コマンドが発生したときに、ビデオ コンテンツ (DVD タイトル ドメイン) を読み取っています。内部フラグをチェックして、アプリケーションがこのイベントの通知を要求したかどうかを確認します。 フラグが設定されていない場合、DVD はディスクで指定された "親レベルの変更拒否" ブランチに従って再生を続けます。フラグが設定されている場合、DVD は EC_DVD_PARENTAL_LEVEL_CHANGE イベントをアプリケーションに送信し、応答が得られるまで一時停止状態で待機します。 アプリケーションは、イベントを受け取ると、独自のロジックを使用して、コマンドを受け入れるかどうかを判断します。 次に、引数 TRUE または FALSE を指定して IDvdControl2::AcceptParentalLevelChange を呼び出しますTRUE の場合、DVD ナビゲーターは、ディスクで指定された "親レベルの変更が受け入れ済み" ブランチに続いて再生を再開します。それ以外の場合は、再生を再開し、"親レベルの変更が拒否されました" ブランチに従います。

DVD アプリケーション