ペアレンタル管理レベルの適用
DVD-Video ディスクのタイトルやタイトルの一部には、一般的なペアレンタル管理レベル (PML) を 1 から 8 まで割り当てることができる。PML が割り当てられたコンテンツを DVD ナビゲータが読み取る場合は、"ペアレンタル ブロック" がかかっていると表現する。1 つのペアレンタル ブロックが、チャプターの一部、複数のチャプター、または複数のタイトルから構成される場合もある。国際市場に向けて作成される DVD アプリケーションでは、そのペアレンタル ロック ロジックに特定のレーティング システムをハード コードすべきではない。
DVD ナビゲータ自体は PML を適用することはない。単に、ディスク上で PML 情報を検出したときにアプリケーションに通知するだけである。デフォルトでは、DVD ナビゲータはディスク上のこの情報を無視し、最高レベルのコンテンツを再生する。PML を適用するには、アプリケーションが何らかの形のパスワード制御ロジックを実装してユーザーとレベルを関連付け、PML イベント通知を送信するように DVD ナビゲータに指示して (起動時に DVD_NotifyParentalLevelChange と TRUE のパラメータで IDvdControl2::SetOption を呼び出す)、このイベントに応答することでアクセスの可否を決定する必要がある。
DVD タイトルには全体で 1 つの PML を割り当ててもよいが、ディスク作成者はそのタイトルの特定の部分に高い (制限の強い) PML を割り当てることもできる。これを一時 PML コマンドと呼ぶ。このようなコマンドには、常に 2 つの分岐命令が含まれる。1 つは、一時 PML コマンドがプレーヤ アプリケーションによって受け入れられた場合に使われ、もう 1 つはコマンドが拒否された場合に使われる。イベントのシーケンスは次のようになる。DVD ナビゲータがビデオ コンテンツ (DVD タイトル ドメイン) の読み取り中にディスク上の一時 PML コマンドを検出する。DVD ナビゲータはその内部フラグをチェックして、アプリケーションがこのイベントの通知を要求しているかどうかを調べる。フラグが設定されていなければ、DVD の再生を続け、ディスク上に指定された "ペアレンタル レベル変更拒否" の分岐をたどる。フラグが設定されている場合、DVD はアプリケーションに EC_DVD_PARENTAL_LEVEL_CHANGE イベントを送信して、応答が返るまでポーズ状態で待つ。アプリケーションは、イベントを受信すると、独自のロジックを使ってそのコマンドを受け入れるかどうかを決定する。そして、TRUE または FALSE の引数で IDvdControl2::AcceptParentalLevelChange を呼び出す。TRUE の場合、DVD ナビゲータは再生を再開し、ディスク上で指定された "ペアレンタル レベル変更受け入れ" の分岐をたどる。FALSE の場合は、再生を再開し、"ペアレンタル レベル変更拒否" の分岐をたどる。