Compartilhar via


Impor níveis de gerenciamento parental

[O recurso associado a esta página, DirectShow, é um recurso herdado. Ele foi substituído por MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo na Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo no Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

Qualquer título ou parte de um título em um disco DVD-Video pode receber um PML (nível de gerenciamento parental) genérico de 1 a 8. Quando o Navegador de DVD está lendo o conteúdo que tem um PML, diz-se que ele está em um bloco parental. Um bloco parental pode consistir em parte de um capítulo, vários capítulos ou vários títulos. Um aplicativo de DVD destinado a um mercado internacional não deve codificar um sistema de classificação específico em sua lógica de gerenciamento parental.

O próprio Navegador de DVD não impõe os PMLs; ele apenas informa seu aplicativo quando encontra informações de PML no disco. Por padrão, ele ignora essas informações no disco e reproduz o conteúdo de nível mais alto. Para impor os PMLs, seu aplicativo deve implementar alguma forma de lógica de controle de senha que associe os usuários aos níveis, instruir o Navegador de DVD a enviar notificações de evento PML (chamando o método IDvdControl2::SetOption na inicialização, com os parâmetros DVD_NotifyParentalLevelChange e TRUE) e responder a esses eventos para permitir ou desautorizar o acesso conforme apropriado.

Um título de DVD pode ter um PML geral, mas os autores de disco podem dar determinadas seções desse título a PMLs mais ou mais restritivas. Eles são chamados de comandos PML temporários; esses comandos sempre contêm duas instruções de ramificação: uma a seguir se o comando PML temporário for aceito pelo aplicativo player e o outro a seguir se o comando for rejeitado. A sequência de eventos é a seguinte. O Navegador de DVD está lendo conteúdo de vídeo (Domínio do Título do DVD) quando encontra um comando PML temporário no disco. Ele verifica seu sinalizador interno para ver se o aplicativo solicitou ser notificado sobre esse evento. Se o sinalizador não estiver definido, o DVD continuará sendo reproduzido, após o branch "alteração de nível parental rejeitada" especificada no disco. Se o sinalizador estiver definido, o DVD enviará um evento EC_DVD_PARENTAL_LEVEL_CHANGE para o aplicativo e aguardará em um estado pausado até obter uma resposta. Quando o aplicativo recebe o evento, ele usa sua própria lógica para determinar se deseja aceitar o comando. Em seguida, ele chama IDvdControl2::AcceptParentalLevelChange com um argumento true ou FALSE. Se TRUE, o DVD Navigator retomará a reprodução, seguindo o branch "alteração de nível parental aceita" especificada no disco. Caso contrário, ele retomará a reprodução e seguirá o branch "alteração de nível parental rejeitada".

Aplicativos DE DVD