Méthode IDrmPort ::CreateContentMixed (portcls.h)

La méthode CreateContentMixed calcule les droits de contenu DRM pour un flux composite contenant du contenu mixte provenant d’un certain nombre de flux audio KS. Notez que cette méthode est identique en fonctionnement à la fonction DrmCreateContentMixed, et que ses définitions de paramètre 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 avoir la valeur 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 à 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 attribue des droits de contenu DRM par défaut au nouvel ID de contenu.

Valeur retournée

Cette méthode retourne NTSTATUS - STATUS_SUCCESS si l’appel a réussi. Sinon, il 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 mélangeant les flux audio KS dont les ID de contenu sont répertoriés dans le tableau paContentId. Compte tenu de 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 attribue des droits de contenu par défaut à l’ID de contenu qu’elle crée pour identifier le flux composite.

Après avoir obtenu un ID de contenu auprès de DrmCreateContentMixed, l’appelant peut obtenir les droits de contenu attribué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 mixe 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 attribué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 a terminé d’utiliser 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 un nouvel ID de contenu vers tous les flux vers lesquels 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 exécute la même fonction que PcCreateContentMixed et IDrmPort ::CreateContentMixed.

Configuration requise

Condition requise Valeur
En-tête portcls.h

Voir aussi

IDrmPort