Функция DrmCreateContentMixed (drmk.h)
Функция DrmCreateContentMixed
создает идентификатор содержимого DRM для идентификации аудиопотока KS, содержащего смешанное содержимое из ряда потоков.
Синтаксис
NTSTATUS DrmCreateContentMixed(
[in] PULONG paContentId,
[in] ULONG cContentId,
[out] PULONG pMixedContentId
);
Параметры
[in] paContentId
Указатель на массив идентификаторов содержимого DRM. Каждый элемент массива имеет тип ULONG и содержит идентификатор содержимого, представляющий защищенный аудиопоток KS. Если cContentId равно нулю, paContentID можно NULL. Идентификатор содержимого нулевого значения — это специальное значение, представляющее аудиопоток с правами на содержимое DRM по умолчанию (см. DEFINE_DRMRIGHTS_DEFAULT).
[in] cContentId
Указывает количество идентификаторов содержимого DRM в массиве paContentId. Массив может содержать нулевые или более идентификаторы содержимого.
[out] pMixedContentId
Указатель вывода для составного идентификатора содержимого. Этот параметр указывает на выделенную абонентом переменную ULONG, в которую функция записывает новый идентификатор содержимого для составного звукового потока KS. Если cContentId равно нулю, функция назначает права на содержимое DRM по умолчанию новому идентификатору содержимого.
Возвращаемое значение
DrmCreateContentMixed
возвращает STATUS_SUCCESS, если вызов выполнен успешно. В противном случае возвращается соответствующий код ошибки.
Замечания
Звуковой фильтр KS вызывает функцию DrmCreateContentMixed
для получения идентификатора содержимого DRM для составного потока. Фильтр создает этот поток путем объединения аудиопотоков KS, идентификаторы содержимого которых перечислены в массиве paContentId. Учитывая этот список идентификаторов содержимого для потоков в входных данных миксера, функция вычисляет права содержимого составного потока и назначает новый идентификатор содержимого этому потоку.
Если вызывающий объект не указывает идентификаторы содержимого (т. е. если cContentId равно нулю), функция назначает права содержимого по умолчанию идентификатору контента, который он создает для идентификации составного потока.
После получения идентификатора содержимого из DrmCreateContentMixed
вызывающий объект может получить права содержимого, назначенные идентификатору содержимого, вызвав DrmGetContentRights.
После изменения прав на содержимое любого из компонентов составного аудиопотока KS, который смешивает поток, должен вызывать DrmCreateContentMixed
, чтобы получить новый идентификатор содержимого для составного аудиопотока.
DrmCreateContentMixed
определяет наиболее строгие права на содержимое, назначенные отдельным идентификаторам содержимого, указанным в массиве paContentId, и назначает эти права новому идентификатору контента.
После завершения фильтра звука KS с помощью идентификатора содержимого, созданного с помощью DrmCreateContentMixed
, фильтр должен вызвать DrmDeskContent, чтобы удалить идентификатор содержимого. Однако перед удалением старого идентификатора содержимого звуковой фильтр KS должен сначала успешно перенаправить новый идентификатор содержимого во все потоки, в которые он ранее перенаправил старый идентификатор содержимого. Фильтр звука KS перенаправит идентификатор содержимого, вызвав функцию DrmForwardContentToXxx.
DrmCreateContentMixed
выполняет ту же функцию, что и PcCreateContentMixed и IDrmPort::CreateContentMixed. Дополнительные сведения см. в функций и интерфейсов DRM.
Требования
Требование | Ценность |
---|---|
целевая платформа | Всеобщий |
заголовка | drmk.h (include Drmk.h) |
библиотеки | Drmk.lib |
IRQL | PASSIVE_LEVEL |