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

El método CreateContentMixed calcula los derechos de contenido DRM de una secuencia compuesta que contiene contenido mixto de algún número de secuencias de audio KS. Tenga en cuenta que este método es idéntico en funcionamiento a la función DrmCreateContentMixed, y sus definiciones de parámetros y valor devuelto también son idénticos.

Sintaxis

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

Parámetros

paContentId

Puntero a una matriz de identificadores de contenido DRM. Cada elemento de matriz es de tipo ULONG y contiene un identificador de contenido que representa una secuencia de audio KS protegida. Si cContentId es cero, paContentID puede ser NULL. Un identificador de contenido de cero es un valor especial que representa una secuencia de audio con derechos de contenido DRM predeterminados (consulte DEFINE_DRMRIGHTS_DEFAULT).

cContentId

Especifica el número de identificadores de contenido DRM en la matriz paContentId. La matriz puede contener cero o más identificadores de contenido.

pMixedContentId

Puntero de salida para el identificador de contenido compuesto. Este parámetro apunta a una variable ULONG asignada por el autor de la llamada en la que la función escribe el nuevo identificador de contenido para la secuencia de audio KS compuesta. Si cContentId es cero, la función asigna derechos de contenido DRM predeterminados al nuevo identificador de contenido.

Valor devuelto

Este método devuelve NTSTATUS: STATUS_SUCCESS si la llamada se realizó correctamente. De lo contrario, devuelve un código de error adecuado.

Comentarios

Un filtro de audio KS llama a la función DrmCreateContentMixed para obtener un identificador de contenido DRM para una secuencia compuesta. El filtro genera esta secuencia mezclando las secuencias de audio KS cuyos identificadores de contenido se muestran en la matriz paContentId. Dada esta lista de identificadores de contenido para las secuencias en las entradas del mezclador, la función calcula los derechos de contenido de la secuencia compuesta y asigna un nuevo identificador de contenido a esa secuencia.

Si el autor de la llamada no especifica ningún identificador de contenido (es decir, si cContentId es cero), la función asigna derechos de contenido predeterminados al identificador de contenido que crea para identificar la secuencia compuesta.

Después de obtener un identificador de contenido de DrmCreateContentMixed, el autor de la llamada puede obtener los derechos de contenido asignados al identificador de contenido llamando a DrmGetContentRights.

Después de un cambio en los derechos de contenido de cualquiera de los componentes de una secuencia de audio compuesta, el filtro de audio KS que mezcla la secuencia debe llamar a DrmCreateContentMixed para obtener un nuevo identificador de contenido para la secuencia de audio compuesta. DrmCreateContentMixed determina el más restrictivo de los derechos de contenido que se asignan a los identificadores de contenido individuales especificados en la matriz paContentId y asigna estos derechos al nuevo identificador de contenido.

Después de que un filtro de audio KS termine de usar un identificador de contenido que creó mediante DrmCreateContentMixed, el filtro debe llamar a DrmDestroyContent para eliminar el identificador de contenido. Sin embargo, antes de eliminar un identificador de contenido antiguo, el filtro de audio KS primero debe reenviar correctamente un nuevo identificador de contenido a todas las secuencias a las que reenviaba anteriormente el identificador de contenido anterior. El filtro de audio KS reenvía un identificador de contenido mediante una llamada a una función DrmForwardContentToXxx.

DrmCreateContentMixed realiza la misma función que PcCreateContentMixed e IDrmPort::CreateContentMixed.

Requisitos

Requisito Valor
Header portcls.h

Consulte también

IDrmPort