Estructura DRMRIGHTS (drmk.h)

La estructura DRMRIGHTS especifica los derechos de contenido DRM asignados a un pin de audio KS o a un objeto stream del controlador de clase de puerto.

Sintaxis

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

Miembros

CopyProtect

Especifica uno de los siguientes valores de protección de copia:

VERDADERO

Habilita la protección de copia. Una aplicación de audio no debe hacer lo siguiente:

  • Almacene el contenido de cualquier forma en cualquier almacenamiento no volátil.
  • Pase el contenido por referencia o por valor a cualquier otro componente del sistema host que no esté autenticado por el sistema DRM.

FALSO

Deshabilita la protección de copia. El contenido se puede copiar sin restricciones.

Para obtener más información sobre CopyProtect, vea la sección Comentarios.

Reserved

Reservado para uso futuro. Inicialice en cero.

DigitalOutputDisable

Especifica uno de los siguientes valores de protección de salida digital:

VERDADERO

Deshabilite las salidas digitales. Un componente de software no debe transferir el contenido del sistema host a través de ningún tipo de interfaz digital. Tenga en cuenta que la protección de salida digital no afecta a los dispositivos USB porque el sistema host incluye dispositivos USB.

FALSO

Habilita las salidas digitales. El contenido se puede transferir desde el sistema host a un componente externo sin restricciones.

Para obtener más información sobre DigitalOutputDisable, vea la sección Comentarios.

Observaciones

El Programa de certificación de Windows coloca requisitos específicos en la forma en que un controlador de audio controla los valores de CopyProtect y DigitalOutputDisable. Estos requisitos son aplicables cuando los valores CopyProtect y DigitalOutputDisable se aplican a una secuencia de audio y a la salida desde la que se accede a la secuencia de audio. Los nuevos requisitos para Windows 7 incluyen la manera correcta de programar el sistema de administración de copias serie (SCMS) para puntos de conexión S/PDIF y la protección de contenido digital de alto ancho de banda (HDCP) para puntos de conexión HDMI.

En la tabla siguiente se resume el estado de protección de contenido que el controlador debe establecer para distintos valores de CopyProtect y DigitalOutputDisable.

miembros booleanos DRMRIGHTS protección de contenido resultante
digitalOutputDisable CopyProtect de puerto HDMI y Display S/PDIF
Falso Falso Habilitado sin HDCP Habilitado sin SCMS
Falso Verdadero Habilitado con HDCP Habilitado con SCMS
Verdadero No te importa Habilitado con HDCP Deshabilitado
 
Nota Si el controlador no puede aplicar HDCP o SCMS correctamente, el controlador debe deshabilitar la salida en el punto de conexión.
 
Cuando un controlador de audio aplica la protección de copia SCMS a un punto de conexión S/PDIF, el controlador de audio usa una combinación de los bits L, Cp y Código de categoría para seleccionar un estado SCMS de "Copiar nunca". Para obtener más información sobre la protección de copias para contenido digital, consulte IEC 60958 disponible en el sitio web de IEC.

Si el controlador admite DRMRIGHTS e implementa también un mecanismo de protección de copia propietario, el controlador debe agregar el resultado de la implementación propietaria con los valores de CopyProtect y DigitalOutputDisable para determinar el estado de protección de copia final. El estado de protección de copia final debe ser el más restrictivo de todas las solicitudes de protección de copia pendientes.

La macro DEFINE_DRMRIGHTS_DEFAULT define una constante estructura DRMRIGHTS que especifica los derechos de contenido DRM predeterminados.

VOID DEFINE_DRMRIGHTS_DEFAULT(
   DRMRIGHTS DrmRights
);

Parámetros

drmRights

DRMRIGHTS

Especifica un nombre para una estructura DRMRIGHTS constante. La macro establece los miembros de DrmRights en los siguientes valores predeterminados:

Valor devuelto

VOID

Esta macro no devuelve un valor.

Requisitos

Requisito Valor
encabezado de drmk.h (incluya Drmk.h)

Consulte también

DrmCreateContentMixed

drmDestroyContent

DrmForwardContentToFileObject

drmForwardContentToInterface

DrmGetContentRights