Partilhar via


Função DrmCreateContentMixed (drmk.h)

A função DrmCreateContentMixed 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 igual a 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 de 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 por chamador na qual a função grava a nova ID de conteúdo para o fluxo de áudio KS composto. Se cContentId for zero, a função atribuirá direitos de conteúdo DRM padrão à nova ID de conteúdo.

Valor de retorno

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

Observações

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 IDs de conteúdo (ou seja, se cContentId for zero), a função atribuirá direitos de conteúdo padrão à ID de conteúdo que ele cria 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 o mais restritivo dos direitos de conteúdo 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 ele 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 de funções e interfaces do DRM.

Requisitos

Requisito Valor
da Plataforma de Destino Universal
cabeçalho drmk.h (inclua Drmk.h)
biblioteca Drmk.lib
IRQL PASSIVE_LEVEL

Consulte também

DEFINE_DRMRIGHTS_DEFAULT

DrmDestroyContent

DrmForwardContentToDeviceObject

DrmForwardContentToInterface

DrmGetContentRights

IDrmPort::CreateContentMixed

PcCreateContentMixed