Share via


Estrutura DRMRIGHTS (drmk.h)

A estrutura DRMRIGHTS especifica os direitos de conteúdo DRM atribuídos a um pino de áudio KS ou ao objeto de fluxo de um driver de classe de porta.

Sintaxe

typedef struct tagDRMRIGHTS {
  BOOL  CopyProtect;
  ULONG Reserved;
  BOOL  DigitalOutputDisable;
} DRMRIGHTS, *PDRMRIGHTS;

Membros

CopyProtect

Especifica um dos seguintes valores de proteção de cópia:

TRUE

Habilita a proteção de cópia. Um aplicativo de áudio não deve fazer o seguinte:

  • Armazene o conteúdo de qualquer forma em qualquer armazenamento não volátil.
  • Passe o conteúdo por referência ou por valor para qualquer outro componente dentro do sistema host que não seja autenticado pelo sistema DRM.

FALSE

Desabilita a proteção de cópia. O conteúdo pode ser copiado sem restrições.

Para obter mais informações sobre CopyProtect, consulte a seção Comentários.

Reserved

Reservado para uso futuro. Inicialize para zero.

DigitalOutputDisable

Especifica um dos seguintes valores de proteção de saída digital:

TRUE

Desabilitar saídas digitais. Um componente de software não deve transferir o conteúdo para fora do sistema host por meio de qualquer tipo de interface digital. Observe que a proteção de saída digital não afeta dispositivos USB porque o sistema host inclui dispositivos USB.

FALSE

Habilita saídas digitais. O conteúdo pode ser transferido do sistema host para um componente externo sem restrições.

Para obter mais informações sobre DigitalOutputDisable, consulte a seção Comentários.

Comentários

O Programa de Certificação do Windows coloca requisitos específicos na maneira como um driver de áudio lida com os valores CopyProtect e DigitalOutputDisable . Esses requisitos são aplicáveis quando os valores CopyProtect e DigitalOutputDisable são aplicados a um fluxo de áudio e à saída da qual o fluxo de áudio é acessado. Os novos requisitos para o Windows 7 incluem a maneira correta de programar o SCMS (sistema de gerenciamento de cópia serial) para pontos de extremidade S/PDIF e a HDCP (proteção de conteúdo digital) de alta largura de banda para pontos de extremidade HDMI.

A tabela a seguir resume o estado de proteção de conteúdo que o driver deve estabelecer para valores diferentes de CopyProtect e DigitalOutputDisable.

Membros boolianos DRMRIGHTS Proteção de conteúdo resultante
DigitalOutputDisable Copyprotect HDMI e Porta de exibição S/PDIF
Falso Falso Habilitado sem HDCP Habilitado sem SCMS
Falso True Habilitado com HDCP Habilitado com SCMS
True Não se importe Habilitado com HDCP Desabilitado
 
Nota Se o driver não puder aplicar HDCP ou SCMS corretamente, o driver deverá desabilitar a saída para o ponto de extremidade.
 
Quando um driver de áudio aplica a proteção de cópia do SCMS a um ponto de extremidade S/PDIF, o driver de áudio usa uma combinação dos bits L, Cp e Código de Categoria para selecionar um estado SCMS de "Copiar Nunca". Para obter mais informações sobre a proteção de cópia para conteúdo digital, consulte IEC 60958 no site da IEC.

Se o driver der suporte a DRMRIGHTS e também implementar um mecanismo de proteção de cópia proprietário, o driver deverá agregar o resultado da implementação proprietária com os valores de CopyProtect e DigitalOutputDisable para determinar o estado final de proteção de cópia. O estado de proteção de cópia final deve ser o mais restritivo de todas as solicitações de proteção de cópia pendentes.

A macro DEFINE_DRMRIGHTS_DEFAULT define uma estrutura DRMRIGHTS constante que especifica direitos de conteúdo DRM padrão.

VOID DEFINE_DRMRIGHTS_DEFAULT(
   DRMRIGHTS DrmRights
);

Parâmetros

DrmRights

DRMRIGHTS

Especifica um nome para uma estrutura DRMRIGHTS constante. A macro define os membros de DrmRights com os seguintes valores padrão:

Retornar valor

VOID

Essa macro não retorna um valor.

Requisitos

Requisito Valor
Cabeçalho drmk.h (inclua Drmk.h)

Confira também

DrmCreateContentMixed

DrmDestroyContent

DrmForwardContentToFileObject

DrmForwardContentToInterface

DrmGetContentRights

IEC 60958