IDrmPort::CreateContentMixed-Methode (portcls.h)

Die CreateContentMixed-Methode berechnet die DRM-Inhaltsrechte für einen zusammengesetzten Stream, der gemischte Inhalte aus einer Bestimmten Anzahl von KS-Audiostreams enthält. Beachten Sie, dass diese Methode im Betrieb mit der DrmCreateContentMixed-Funktion identisch ist und ihre Parameterdefinitionen und der Rückgabewert ebenfalls identisch sind.

Syntax

NTSTATUS CreateContentMixed(
  PULONG paContentId,
  ULONG  cContentId,
  PULONG pMixedContentId
);

Parameter

paContentId

Zeiger auf ein Array von DRM-Inhalts-IDs. Jedes Arrayelement ist vom Typ ULONG und enthält eine Inhalts-ID, die einen geschützten KS-Audiostream darstellt. Wenn cContentId 0 ist, kann paContentID NULL sein. Eine Inhalts-ID von 0 ist ein besonderer Wert, der einen Audiostream mit standardmäßigen DRM-Inhaltsrechten darstellt (siehe DEFINE_DRMRIGHTS_DEFAULT).

cContentId

Gibt die Anzahl der DRM-Inhalts-IDs im paContentId-Array an. Das Array kann null oder mehr Inhalts-IDs enthalten.

pMixedContentId

Ausgabezeiger für die zusammengesetzte Inhalts-ID. Dieser Parameter verweist auf eine vom Aufrufer zugewiesene ULONG-Variable, in die die Funktion die neue Inhalts-ID für den zusammengesetzten KS-Audiostream schreibt. Wenn cContentId null ist, weist die Funktion der neuen Inhalts-ID standardmäßig DRM-Inhaltsrechte zu.

Rückgabewert

Diese Methode gibt NTSTATUS zurück – STATUS_SUCCESS, wenn der Aufruf erfolgreich war. Andernfalls wird ein entsprechender Fehlercode zurückgegeben.

Hinweise

Ein KS-Audiofilter ruft die DrmCreateContentMixed-Funktion auf, um eine DRM-Inhalts-ID für einen zusammengesetzten Stream abzurufen. Der Filter erzeugt diesen Stream durch Mischen der KS-Audiostreams, deren Inhalts-IDs im paContentId-Array aufgeführt sind. Aufgrund dieser Liste der Inhalts-IDs für die Streams an den Mixereingaben berechnet die Funktion die Inhaltsrechte des zusammengesetzten Datenstroms und weist diesem Stream eine neue Inhalts-ID zu.

Wenn der Aufrufer keine Inhalts-IDs angibt (d. h. wenn cContentId null ist), weist die Funktion der Inhalts-ID standardinhaltsrechte zu, die sie erstellt, um den zusammengesetzten Stream zu identifizieren.

Nachdem er eine Inhalts-ID von DrmCreateContentMixed abgerufen hat, kann der Aufrufer die Inhaltsrechte abrufen, die der Inhalts-ID zugewiesen sind, indem er DrmGetContentRights aufruft.

Nach einer Änderung der Inhaltsrechte einer der Komponenten eines zusammengesetzten Audiostreams muss der KS-Audiofilter, der den Stream mischt, DrmCreateContentMixed aufrufen, um eine neue Inhalts-ID für den zusammengesetzten Audiostream zu erhalten. DrmCreateContentMixed bestimmt die restriktivsten Inhaltsrechte, die den einzelnen Inhalts-IDs zugewiesen werden, die im paContentId-Array angegeben sind, und weist diese Rechte der neuen Inhalts-ID zu.

Nachdem ein KS-Audiofilter eine Inhalts-ID verwendet hat, die er mit DrmCreateContentMixed erstellt hat, muss der Filter DrmDestroyContent aufrufen, um die Inhalts-ID zu löschen. Vor dem Löschen einer alten Inhalts-ID muss der KS-Audiofilter jedoch zunächst erfolgreich eine neue Inhalts-ID an alle Streams weiterleiten, an die er zuvor die alte Inhalts-ID weitergeleitet hat. Der KS-Audiofilter leitet eine Inhalts-ID weiter, indem eine DrmForwardContentToXxx-Funktion aufgerufen wird.

DrmCreateContentMixed führt dieselbe Funktion wie PcCreateContentMixed und IDrmPort::CreateContentMixed aus.

Anforderungen

Anforderung Wert
Header portcls.h

Weitere Informationen

IDrmPort