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:

VERDADEIRO

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ãovolatile.
  • 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.

FALSO

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:

VERDADEIRO

Desabilitar saídas digitais. Um componente de software não deve transferir o conteúdo 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.

FALSO

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.

Observações

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 de proteção de conteúdo resultante
DigitalOutputDisable CopyProtect de porta HDMI e Display S/PDIF
Falso Falso Habilitado sem HDCP Habilitado sem SCMS
Falso Verdadeiro Habilitado com HDCP Habilitado com SCMS
Verdadeiro Não se importe Habilitado com HDCP Desactivado
 
Observação 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 o IEC 60958 disponível no site da IEC.

Se o driver der suporte ao DRMRIGHTS e também implementar um mecanismo proprietário de proteção contra cópia, o driver deverá agregar o resultado da implementação proprietária com os valores de CopyProtect e DigitalOutputDisable para determinar o estado de proteção de cópia final. 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 constante estrutura de DRMRIGHTS 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 do DrmRights com os seguintes valores padrão:

Valor de retorno

void

Essa macro não retorna um valor.

Requisitos

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

Consulte também

DrmCreateContentMixed

DrmDestroyContent

DrmForwardContentToFileObject

DrmForwardContentToInterface

DrmGetContentRights