Compartilhar via


Função DrmCreateContentMixed (drmk.h)

A DrmCreateContentMixed função cria uma ID de conteúdo DRM para identificar um fluxo de áudio KS que contém conteúdo misto de vários fluxos.

Sintaxe

NTSTATUS DrmCreateContentMixed(
  [in]  PULONG paContentId,
  [in]  ULONG  cContentId,
  [out] PULONG pMixedContentId
);

Parâmetros

[in] 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 de zero é um valor especial que representa um fluxo de áudio com direitos de conteúdo DRM padrão (consulte DEFINE_DRMRIGHTS_DEFAULT).

[in] 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.

[out] 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

DrmCreateContentMixed retornará STATUS_SUCCESS se a chamada tiver sido bem-sucedida. Caso contrário, ele retornará um código de erro apropriado.

Comentários

Um filtro de áudio KS chama a DrmCreateContentMixed função 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. Para obter mais informações, consulte Funções e interfaces drm.

Requisitos

Requisito Valor
Plataforma de Destino Universal
Cabeçalho drmk.h (inclua Drmk.h)
Biblioteca Drmk.lib
IRQL PASSIVE_LEVEL

Confira também

DEFINE_DRMRIGHTS_DEFAULT

DrmDestroyContent

DrmForwardContentToDeviceObject

DrmForwardContentToInterface

DrmGetContentRights

IDrmPort::CreateContentMixed

PcCreateContentMixed