Aplicación de los niveles de administración parental
[La característica asociada a esta página, DirectShow, es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEngine y Captura de audio/vídeo en Media Foundation. Esas características se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use MediaPlayer, IMFMediaEngine y Audio/Video Capture en Media Foundation en lugar de DirectShow, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.
A cualquier título o parte de un título en un disco de DVD-Video se le puede asignar un nivel de administración parental genérico (PML) de 1 a 8. Cuando el navegador de DVD está leyendo contenido que tiene una PML, se dice que está en un bloque parental. Un bloque parental puede constar de parte de un capítulo, varios capítulos o varios títulos. Una aplicación de DVD destinada a un mercado internacional no debe codificar de forma rígida un sistema de clasificación determinado en su lógica de gestión parental.
El navegador de DVD no aplica las PML; simplemente informa a la aplicación cuando encuentra información de PML en el disco. De forma predeterminada, omite esta información en el disco y reproduce el contenido de nivel más alto. Para aplicar las PML, la aplicación debe implementar algún tipo de lógica de control de contraseña que asocie usuarios a niveles, indique al Navegador de DVD que envíe notificaciones de eventos PML (mediante una llamada al método IDvdControl2::SetOption en el inicio, con los parámetros DVD_NotifyParentalLevelChange y TRUE) y responda a esos eventos para permitir o denegar el acceso según corresponda.
Un título de DVD puede tener una PML general, pero los autores de discos pueden proporcionar determinadas secciones de ese título más altas o más restrictivas pmL. Se denominan comandos PML temporales; estos comandos siempre contienen dos instrucciones de bifurcación: una para seguir si la aplicación del reproductor acepta el comando PML temporal y la otra para seguir si se rechaza el comando. La secuencia de eventos es la siguiente. El navegador de DVD está leyendo contenido de vídeo (dominio de título de DVD) cuando encuentra un comando PML temporal en el disco. Comprueba su marca interna para ver si la aplicación ha solicitado recibir una notificación de este evento. Si no se establece la marca, el DVD continúa reproduciendo, siguiendo la rama "cambio de nivel parental rechazada" especificada en el disco. Si se establece la marca, el DVD envía un evento de EC_DVD_PARENTAL_LEVEL_CHANGE a la aplicación y espera en un estado en pausa hasta que obtiene una respuesta. Cuando la aplicación recibe el evento, usa su propia lógica para determinar si se debe aceptar el comando. A continuación, llama a IDvdControl2::AcceptParentalLevelChange con un argumento de TRUE o FALSE. Si es TRUE, el navegador de DVD reanuda la reproducción, siguiendo la rama "cambio de nivel parental aceptada" especificada en el disco. De lo contrario, se reanuda la reproducción y sigue la rama "cambio de nivel parental rechazada".
Temas relacionados