DRMRIGHTS-Struktur (drmk.h)

Die DRMRIGHTS-Struktur gibt die DRM-Inhaltsberechtigungen an, die einem KS-Audio-Pin oder einem Streamobjekt des Portklassentreibers zugewiesen sind.

Syntax

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

Member

CopyProtect

Gibt einen der folgenden Kopierschutzwerte an:

true

Aktiviert den Kopierschutz. Eine Audioanwendung darf nicht die folgenden Aktionen ausführen:

  • Speichern Sie den Inhalt in beliebiger Form in einem nicht flüchtigen Speicher.
  • Übergeben Sie den Inhalt nach Verweis oder Wert an eine andere Komponente innerhalb des Hostsystems, die nicht vom DRM-System authentifiziert wird.

false

Deaktiviert den Kopierschutz. Inhalte können ohne Einschränkungen kopiert werden.

Weitere Informationen zu CopyProtect finden Sie im Abschnitt Hinweise.

Reserved

Für die zukünftige Verwendung reserviert. Initialisieren Sie mit 0 (null).

DigitalOutputDisable

Gibt einen der folgenden Digitalen Ausgabeschutzwerte an:

true

Deaktivieren Sie digitale Ausgaben. Eine Softwarekomponente darf den Inhalt nicht über eine beliebige digitale Schnittstelle aus dem Hostsystem übertragen. Beachten Sie, dass sich der Digitale Ausgabeschutz nicht auf USB-Geräte auswirkt, da das Hostsystem USB-Geräte enthält.

FALSE

Aktiviert digitale Ausgaben. Inhalte können ohne Einschränkungen vom Hostsystem auf eine externe Komponente übertragen werden.

Weitere Informationen zu DigitalOutputDisable finden Sie im Abschnitt Hinweise.

Hinweise

Das Windows-Zertifizierungsprogramm stellt bestimmte Anforderungen an die Art und Weise, wie ein Audiotreiber die Werte CopyProtect und DigitalOutputDisable verarbeitet. Diese Anforderungen gelten, wenn die Werte CopyProtect und DigitalOutputDisable auf einen Audiodatenstrom und auf die Ausgabe angewendet werden, von der aus auf den Audiodatenstrom zugegriffen wird. Neue Anforderungen für Windows 7 umfassen die richtige Methode zum Programmieren des seriellen Kopierverwaltungssystems (SCMS) für S/PDIF-Endpunkte und hdcp (Digital Content Protection) mit hoher Bandbreite für HDMI-Endpunkte.

In der folgenden Tabelle ist der Inhaltsschutzstatus zusammengefasst, den der Treiber für verschiedene Werte von CopyProtect und DigitalOutputDisable einrichten muss.

DRMRIGHTS Boolean-Member Resultierender Inhaltsschutz
DigitalOutputDisable CopyProtect HDMI- und Anzeigeanschluss S/PDIF
False False Ohne HDCP aktiviert Aktiviert ohne SCMS
False True Aktiviert mit HDCP Aktiviert mit SCMS
True Ist doch egal Aktiviert mit HDCP Disabled
 
Hinweis Wenn der Treiber HDCP oder SCMS nicht ordnungsgemäß anwenden kann, muss der Treiber die Ausgabe an den Endpunkt deaktivieren.
 
Wenn ein Audiotreiber SCMS-Kopierschutz auf einen S/PDIF-Endpunkt anwendet, verwendet der Audiotreiber eine Kombination aus den Bits L, Cp und Category Code, um den SCMS-Status "Copy Never" (Nie kopieren) auszuwählen. Weitere Informationen zum Kopierschutz für digitale Inhalte finden Sie unter IEC 60958 auf der IEC-Website.

Wenn der Treiber DRMRIGHTS unterstützt und auch einen proprietären Kopierschutzmechanismus implementiert, muss der Treiber das Ergebnis der proprietären Implementierung mit den Werten CopyProtect und DigitalOutputDisable aggregieren, um den endgültigen Kopierschutzstatus zu bestimmen. Der endgültige Kopierschutzstatus muss der restriktivste aller ausstehenden Kopierschutzanforderungen sein.

Das DEFINE_DRMRIGHTS_DEFAULT Makro definiert eine konstante DRMRIGHTS-Struktur , die DRM-Standardinhaltsrechte angibt.

VOID DEFINE_DRMRIGHTS_DEFAULT(
   DRMRIGHTS DrmRights
);

Parameter

DrmRights

DRMRIGHTS

Gibt einen Namen für eine konstante DRMRIGHTS-Struktur an. Das Makro legt die Member von DrmRights auf die folgenden Standardwerte fest:

Rückgabewert

VOID

Dieses Makro gibt keinen Wert zurück.

Anforderungen

Anforderung Wert
Header drmk.h (drmk.h einschließen)

Weitere Informationen

DrmCreateContentMixed

DrmDestroyContent

DrmForwardContentToFileObject

DrmForwardContentToInterface

DrmGetContentRights

IEC 60958