Structure DRMRIGHTS (drmk.h)

La structure DRMRIGHTS spécifie les droits de contenu DRM attribués à une broche audio KS ou à l’objet stream d’un pilote de classe de port.

Syntaxe

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

Membres

CopyProtect

Spécifie l’une des valeurs de protection contre la copie suivantes :

TRUE

Active la protection contre la copie. Une application audio ne doit pas effectuer les opérations suivantes :

  • Stockez le contenu sous n’importe quelle forme dans un stockage non volatile.
  • Transmettez le contenu par référence ou par valeur à tout autre composant du système hôte qui n’est pas authentifié par le système DRM.

FALSE

Désactive la protection contre la copie. Le contenu peut être copié sans restriction.

Pour plus d’informations sur CopyProtect, consultez la section Remarques.

Reserved

Réservé pour un usage futur. Initialisez à zéro.

DigitalOutputDisable

Spécifie l’une des valeurs de protection de sortie numérique suivantes :

TRUE

Désactivez les sorties numériques. Un composant logiciel ne doit pas transférer le contenu hors du système hôte par le biais d’un type d’interface numérique. Notez que la protection de sortie numérique n’affecte pas les périphériques USB, car le système hôte inclut des périphériques USB.

FALSE

Active les sorties numériques. Le contenu peut être transféré du système hôte vers un composant externe sans restrictions.

Pour plus d’informations sur DigitalOutputDisable, consultez la section Remarques.

Remarques

Le programme de certification Windows impose des exigences spécifiques sur la façon dont un pilote audio gère les valeurs CopyProtect et DigitalOutputDisable . Ces exigences s’appliquent lorsque les valeurs CopyProtect et DigitalOutputDisable sont appliquées à un flux audio et à la sortie à partir de laquelle le flux audio est accessible. Les nouvelles exigences pour Windows 7 incluent la bonne façon de programmer le système de gestion de copie série (SCMS) pour les points de terminaison S/PDIF et la protection de contenu numérique à bande passante élevée (HDCP) pour les points de terminaison HDMI.

Le tableau suivant récapitule l’état de protection du contenu que le pilote doit établir pour différentes valeurs de CopyProtect et DigitalOutputDisable.

Membres booléens DRMRIGHTS Protection du contenu résultante
DigitalOutputDisable CopyProtect Port HDMI et display S/PDIF
False False Activé sans HDCP Activé sans SCMS
False True Activé avec HDCP Activé avec SCMS
True S’en ficher Activé avec HDCP Désactivé
 
Note Si le pilote ne parvient pas à appliquer CORRECTEMENT HDCP ou SCMS, le pilote doit désactiver la sortie vers le point de terminaison.
 
Lorsqu’un pilote audio applique la protection contre la copie SCMS à un point de terminaison S/PDIF, le pilote audio utilise une combinaison des bits L, Cp et Category Code pour sélectionner un état SCMS « Copier jamais ». Pour plus d’informations sur la protection contre la copie pour le contenu numérique, consultez IEC 60958 sur le site web iec.

Si le pilote prend en charge DRMRIGHTS et implémente également un mécanisme de protection contre la copie propriétaire, le pilote doit agréger le résultat de l’implémentation propriétaire avec les valeurs CopyProtect et DigitalOutputDisable pour déterminer l’état final de la protection contre la copie. L’état final de protection contre la copie doit être le plus restrictif de toutes les demandes de protection contre la copie en suspens.

La macro DEFINE_DRMRIGHTS_DEFAULT définit une structure DRMRIGHTS constante qui spécifie les droits de contenu DRM par défaut.

VOID DEFINE_DRMRIGHTS_DEFAULT(
   DRMRIGHTS DrmRights
);

Paramètres

DrmRights

DRMRIGHTS

Spécifie un nom pour une structure DRMRIGHTS constante. La macro définit les membres de DrmRights sur les valeurs par défaut suivantes :

Valeur retournée

VOID

Cette macro ne retourne pas de valeur.

Configuration requise

Condition requise Valeur
En-tête drmk.h (inclure Drmk.h)

Voir aussi

DrmCreateContentMixed

DrmDestroyContent

DrmForwardContentToFileObject

DrmForwardContentToInterface

DrmGetContentRights

IEC 60958