Structure DRMRIGHTS (drmk.h)

La structure DRMRIGHTS spécifie les droits de contenu DRM attribués à une broche audio KS ou à l’objet de flux 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 de copie suivantes :

VRAI

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

  • Stockez le contenu sous n’importe quel formulaire dans n’importe quel stockage nonvolatile.
  • 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.

FAUX

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

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

Reserved

Réservé pour une utilisation ultérieure. Initialiser à zéro.

DigitalOutputDisable

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

VRAI

Désactivez les sorties numériques. Un composant logiciel ne doit pas transférer le contenu hors du système hôte via n’importe quel 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.

FAUX

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 DigitalOutputDis ableDisable sont appliquées à un flux audio et à la sortie à partir de laquelle le flux audio est accessible. Les nouvelles exigences pour Windows 7 incluent le bon moyen 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ésume l’état de protection du contenu que le pilote doit établir pour différentes valeurs de copyProtect et DigitalOutputDisable.

membres booléens DRMRIGHTS protection de contenu résultante
DigitalOutputDisable CopyProtect le port HDMI et le port d’affichage S/PDIF
Faux Faux Activé sans HDCP Activé sans SCMS
Faux Vrai Activé avec HDCP Activé avec SCMS
Vrai Ne vous souciez pas Activé avec HDCP Handicapé
 
Remarque 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 de 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 de « Copier jamais ». Pour plus d’informations sur la protection contre la copie pour le contenu numérique, consultez la norme IEC 60958 disponible sur le site web IEC.

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

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 aux valeurs par défaut suivantes :

Valeur de retour

VOID

Cette macro ne retourne pas de valeur.

Exigences

Exigence Valeur
d’en-tête drmk.h (include Drmk.h)

Voir aussi

DrmCreateContentMixed

DrmDestroyContent

DrmForwardContentToFileObject

DrmForwardContentToInterface

DrmGetContentRights