Compartilhar via


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

O método CreateContentMixed calcula os direitos de conteúdo DRM para um fluxo composto que contém conteúdo misto de alguns fluxos de áudio KS. Observe que esse método é idêntico na operação à função DrmCreateContentMixed e suas definições de parâmetro e valor retornado também são idênticas.

Sintaxe

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

Parâmetros

paContentId

Ponteiro para uma matriz de IDs de conteúdo DRM. Cada elemento de matriz é do tipo ULONG e contém uma ID de conteúdo que representa um fluxo de áudio KS protegido. Se cContentId for zero, paContentID poderá ser NULL. Uma ID de conteúdo igual a zero é um valor especial que representa um fluxo de áudio com direitos de conteúdo DRM padrão (consulte DEFINE_DRMRIGHTS_DEFAULT).

cContentId

Especifica o número de IDs de conteúdo DRM na matriz paContentId. A matriz pode conter zero ou mais IDs de conteúdo.

pMixedContentId

Ponteiro de saída para a ID de conteúdo composto. Esse parâmetro aponta para uma variável ULONG alocada pelo chamador na qual a função grava a nova ID de conteúdo para o fluxo de áudio de KS composto. Se cContentId for zero, a função atribuirá direitos de conteúdo DRM padrão à nova ID de conteúdo.

Retornar valor

Esse método retorna NTSTATUS – STATUS_SUCCESS se a chamada foi bem-sucedida. Caso contrário, ele retornará um código de erro apropriado.

Comentários

Um filtro de áudio KS chama a função DrmCreateContentMixed para obter uma ID de conteúdo DRM para um fluxo composto. O filtro produz esse fluxo misturando os fluxos de áudio KS cujas IDs de conteúdo estão listadas na matriz paContentId. Dada essa lista de IDs de conteúdo para os fluxos nas entradas do mixer, a função calcula os direitos de conteúdo do fluxo composto e atribui uma nova ID de conteúdo a esse fluxo.

Se o chamador não especificar nenhuma ID de conteúdo (ou seja, se cContentId for zero), a função atribuirá direitos de conteúdo padrão à ID de conteúdo criada para identificar o fluxo composto.

Depois de obter uma ID de conteúdo de DrmCreateContentMixed, o chamador pode obter os direitos de conteúdo atribuídos à ID de conteúdo chamando DrmGetContentRights.

Após uma alteração nos direitos de conteúdo de qualquer um dos componentes de um fluxo de áudio composto, o filtro de áudio KS que mistura o fluxo deve chamar DrmCreateContentMixed para obter uma nova ID de conteúdo para o fluxo de áudio composto. DrmCreateContentMixed determina os direitos de conteúdo mais restritivos atribuídos às IDs de conteúdo individuais especificadas na matriz paContentId e atribui esses direitos à nova ID de conteúdo.

Depois que um filtro de áudio KS for concluído usando uma ID de conteúdo que ele criou usando DrmCreateContentMixed, o filtro deverá chamar DrmDestroyContent para excluir a ID de conteúdo. No entanto, antes de excluir uma ID de conteúdo antiga, o filtro de áudio KS deve primeiro encaminhar com êxito uma nova ID de conteúdo para todos os fluxos para os quais encaminhou anteriormente a ID de conteúdo antiga. O filtro de áudio KS encaminha uma ID de conteúdo chamando uma função DrmForwardContentToXxx.

DrmCreateContentMixed executa a mesma função que PcCreateContentMixed e IDrmPort::CreateContentMixed.

Requisitos

Requisito Valor
Cabeçalho portcls.h

Confira também

IDrmPort