Função DrmAddContentHandlers (drmk.h)
A DrmAddContentHandlers
função fornece ao sistema uma lista de funções que lidam com conteúdo protegido.
Sintaxe
NTSTATUS DrmAddContentHandlers(
[in] ULONG ContentId,
[in] PVOID *paHandlers,
[in] ULONG NumHandlers
);
Parâmetros
[in] ContentId
Especifica a ID de conteúdo drm. Esse parâmetro identifica um fluxo de áudio KS protegido.
[in] paHandlers
Ponteiro para uma matriz de ponteiros de função. Cada elemento de matriz aponta para um manipulador de conteúdo.
[in] NumHandlers
Especifica o número de ponteiros de função na matriz paHandlers .
Retornar valor
DrmAddContentHandlers
retornará STATUS_SUCCESS se a chamada tiver sido bem-sucedida. Caso contrário, ele retornará um código de erro apropriado.
Comentários
Antes de permitir que o conteúdo protegido flua por um caminho de dados, o sistema verifica se o caminho de dados é seguro. Para fazer isso, o sistema autentica cada módulo no caminho de dados começando no final upstream do caminho de dados e movendo-se para baixo. À medida que cada módulo é autenticado, esse módulo fornece ao sistema informações sobre o próximo módulo no caminho de dados para que ele também possa ser autenticado. Para ser autenticado com êxito, o arquivo binário de um módulo deve ser assinado como compatível com DRM.
Se dois módulos adjacentes se comunicarem entre si por meio da função IoCallDriver ou da interface COM do módulo downstream, o módulo upstream chamará a função DrmForwardContentToInterface ou DrmForwardContentToDeviceObject, respectivamente, para fornecer ao sistema informações sobre o módulo downstream. No entanto, se os dois módulos usarem qualquer outro tipo de interface para se comunicar, o módulo upstream chamará a DrmAddContentHandlers
função.
A matriz paHandlers contém ponteiros de função para pontos de entrada no módulo downstream. DrmAddContentHandlers
autentica o módulo que implementa essas funções. (Se os pontos de entrada forem distribuídos entre vários módulos, a função autentica todos esses módulos.) As funções definidas pelo fornecedor nessa matriz compõem uma interface que é compreendida pelo módulo que chama as funções e o módulo que implementa as funções. DrmAddContentHandlers
não chama diretamente nenhuma dessas funções.
O módulo upstream pode passar a ID de conteúdo e os direitos de conteúdo para o módulo downstream usando uma das funções na matriz paHandlers para essa finalidade. O módulo downstream precisa da ID de conteúdo para aconselhar o sistema de todos os módulos aos quais ele envia o conteúdo protegido.
DrmAddContentHandlers executa a mesma função que PcAddContentHandlers e IDrmPort2::AddContentHandlers. 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 |