Partager via


IDrmPort ::CreateContentMixed, méthode (portcls.h)

La méthode CreateContentMixed calcule les droits de contenu DRM pour un flux composite contenant du contenu mixte à partir d’un certain nombre de flux audio KS. Notez que cette méthode est identique en opération à la fonction DrmCreateContentMixed, et que ses définitions de paramètres et sa valeur de retour sont également identiques.

Syntaxe

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

Paramètres

paContentId

Pointeur vers un tableau d’ID de contenu DRM. Chaque élément de tableau est de type ULONG et contient un ID de contenu qui représente un flux audio KS protégé. Si cContentId est égal à zéro, paContentID peut être NULL. Un ID de contenu de zéro est une valeur spéciale qui représente un flux audio avec des droits de contenu DRM par défaut (voir DEFINE_DRMRIGHTS_DEFAULT).

cContentId

Spécifie le nombre d’ID de contenu DRM dans le tableau paContentId. Le tableau peut contenir zéro ID de contenu ou plus.

pMixedContentId

Pointeur de sortie pour l’ID de contenu composite. Ce paramètre pointe vers une variable ULONG allouée par l’appelant dans laquelle la fonction écrit le nouvel ID de contenu pour le flux audio KS composite. Si cContentId est égal à zéro, la fonction affecte les droits de contenu DRM par défaut au nouvel ID de contenu.

Valeur de retour

Cette méthode retourne NTSTATUS - STATUS_SUCCESS si l’appel a réussi. Sinon, elle retourne un code d’erreur approprié.

Remarques

Un filtre audio KS appelle la fonction DrmCreateContentMixed pour obtenir un ID de contenu DRM pour un flux composite. Le filtre produit ce flux en combinant les flux audio KS dont les ID de contenu sont répertoriés dans le tableau paContentId. Étant donné cette liste d’ID de contenu pour les flux aux entrées du mélangeur, la fonction calcule les droits de contenu du flux composite et affecte un nouvel ID de contenu à ce flux.

Si l’appelant ne spécifie pas d’ID de contenu (autrement dit, si cContentId est égal à zéro), la fonction affecte les droits de contenu par défaut à l’ID de contenu qu’il crée pour identifier le flux composite.

Après avoir obtenu un ID de contenu à partir de DrmCreateContentMixed, l’appelant peut obtenir les droits de contenu affectés à l’ID de contenu en appelant DrmGetContentRights.

Après une modification des droits de contenu de l’un des composants d’un flux audio composite, le filtre audio KS qui mélange le flux doit appeler DrmCreateContentMixed pour obtenir un nouvel ID de contenu pour le flux audio composite. DrmCreateContentMixed détermine les droits de contenu les plus restrictifs qui sont affectés aux ID de contenu individuels spécifiés dans le tableau paContentId et attribue ces droits au nouvel ID de contenu.

Une fois qu’un filtre audio KS se termine à l’aide d’un ID de contenu qu’il a créé à l’aide de DrmCreateContentMixed, le filtre doit appeler DrmDestroyContent pour supprimer l’ID de contenu. Toutefois, avant de supprimer un ancien ID de contenu, le filtre audio KS doit d’abord transférer avec succès un nouvel ID de contenu à tous les flux auxquels il a précédemment transféré l’ancien ID de contenu. Le filtre audio KS transfère un ID de contenu en appelant une fonction DrmForwardContentToXxx.

DrmCreateContentMixed effectue la même fonction que PcCreateContentMixed et IDrmPort ::CreateContentMixed.

Exigences

Exigence Valeur
d’en-tête portcls.h

Voir aussi

IDrmPort