Memberlakukan Tingkat Manajemen Orang Tua

[Fitur yang terkait dengan halaman ini, DirectShow, adalah fitur warisan. Ini telah digantikan oleh MediaPlayer, IMFMediaEngine, dan Pengambilan Audio/Video di Media Foundation. Fitur-fitur tersebut telah dioptimalkan untuk Windows 10 dan Windows 11. Microsoft sangat menyarankan agar kode baru menggunakan MediaPlayer, IMFMediaEngine , dan Pengambilan Audio/Video di Media Foundation alih-alih DirectShow, jika memungkinkan. Microsoft menyarankan agar kode yang ada yang menggunakan API warisan ditulis ulang untuk menggunakan API baru jika memungkinkan.]

Setiap judul atau bagian judul pada disk DVD-Video dapat diberi tingkat manajemen orang tua (PML) generik dari 1 hingga 8. Ketika DVD Navigator membaca konten yang memiliki PML, dikatakan berada di blok orang tua. Blok orang tua dapat terdiri dari bagian dari bab, beberapa bab, atau beberapa judul. Aplikasi DVD yang ditujukan untuk pasar internasional tidak boleh melakukan hard code sistem peringkat tertentu ke dalam logika manajemen orang tuanya.

Navigator DVD itu sendiri tidak memberlakukan PML; ini hanya menginformasikan aplikasi Anda ketika menemukan informasi PML pada disk. Secara default, ini mengabaikan informasi ini pada disk dan memutar konten tingkat tertinggi. Untuk memberlakukan PML, aplikasi Anda harus menerapkan beberapa bentuk logika kontrol kata sandi yang mengaitkan pengguna dengan level, menginstruksikan DVD Navigator untuk mengirimkan pemberitahuan peristiwa PML (dengan memanggil metode IDvdControl2::SetOption saat startup, dengan parameter DVD_NotifyParentalLevelChange dan TRUE), dan menanggapi peristiwa tersebut untuk mengizinkan atau melarang akses sebagaimana mestinya.

Judul DVD dapat memiliki satu PML secara keseluruhan, tetapi penulis disk dapat memberikan bagian tertentu dari judul tersebut PML yang lebih tinggi atau lebih ketat. Ini disebut perintah PML sementara; perintah ini selalu berisi dua instruksi percabangan: satu untuk diikuti jika perintah PML sementara diterima oleh aplikasi pemutar, dan yang lain untuk diikuti jika perintah ditolak. Urutan peristiwa adalah sebagai berikut. Dvd Navigator membaca konten video (Domain Judul DVD) ketika menemukan perintah PML sementara pada disk. Ini memeriksa bendera internalnya untuk melihat apakah aplikasi telah meminta untuk diberi tahu tentang peristiwa ini. Jika bendera tidak diatur, DVD terus diputar, mengikuti cabang "perubahan tingkat orang tua ditolak" yang ditentukan pada disk. Jika bendera diatur, DVD mengirimkan peristiwa EC_DVD_PARENTAL_LEVEL_CHANGE ke aplikasi dan menunggu dalam keadaan dijeda hingga mendapatkan respons. Saat aplikasi Anda menerima peristiwa, aplikasi menggunakan logikanya sendiri untuk menentukan apakah akan menerima perintah. Kemudian memanggil IDvdControl2::AcceptParentalLevelChange dengan argumen TRUE atau FALSE. Jika TRUE, DVD Navigator melanjutkan pemutaran, mengikuti cabang "perubahan tingkat orang tua diterima" yang ditentukan pada disk. Jika tidak, ia melanjutkan pemutaran dan mengikuti cabang "perubahan tingkat orang tua ditolak".

Aplikasi DVD