Функция KsMergeAutomationTables (ks.h)
Функция KsMergeAutomationTables объединяет две таблицы автоматизации.
Синтаксис
KSDDKAPI NTSTATUS KsMergeAutomationTables(
[out] PKSAUTOMATION_TABLE *AutomationTableAB,
[in, optional] PKSAUTOMATION_TABLE AutomationTableA,
[in, optional] PKSAUTOMATION_TABLE AutomationTableB,
[in, optional] KSOBJECT_BAG Bag
);
Параметры
[out] AutomationTableAB
Указатель на расположение, в котором помещается указатель на KSAUTOMATION_TABLE. Эта структура является результирующей объединенной таблицей автоматизации.
[in, optional] AutomationTableA
Указатель на структуру KSAUTOMATION_TABLE, представляющую первую из двух таблиц автоматизации для слияния. Эта таблица является доминирующей таблицей в отношении повторяющихся записей. Если NULL, AutomationTableB копируется в AutomationTableAB и при необходимости помещается в пакет .
[in, optional] AutomationTableB
Указатель на структуру KSAUTOMATION_TABLE, представляющую второй из двух таблиц автоматизации для слияния. Если NULL, AutomationTableA копируется в AutomationTableAB и при необходимости помещается в пакет .
[in, optional] Bag
Созданная таблица автоматизации помещается в эту KSOBJECT_BAG (эквивалентную типу PVOID) для последующей очистки. Этот параметр является необязательным.
Возвращаемое значение
KsMergeAutomationTables возвращает STATUS_SUCCESS, если слияние успешно завершено. Если ошибка не выполнена, возвращается код ошибки. Наиболее частым кодом ошибки является STATUS_INSUFFICIENT_RESOURCES, что указывает на нехватку системных ресурсов для завершения слияния.
Замечания
Если AutomationTableA и AutomationTableBNULL, эта подпрограмма не выполняет никаких действий и возвращает STATUS_SUCCESS.
Записи в AutomationTableA имеют приоритет вслияния. Если в AutomationTableA и AutomationTableBесть запись в AutomationTableA , которая помещается в объединенную таблицу. Только что созданная таблица автоматизации помещается в запрошенный контейнер объектов, если он указан.
Если входная таблица находится в контейнере объектов во время вызова, AVStream удаляет таблицу из контейнера объектов до KsMergeAutomationTables.
Если параметр bag не NULL, мини-driver должен принимать мьютекс, связанный с контейнером объектов перед вызовом этой процедуры. Если сумка связана с закреплением или фильтром, необходимо хранить мьютекс элемента управления. Если контейнер связан с фабрикой фильтров или устройством, необходимо провести мьютекс устройства. Дополнительные сведения см. в Мьютексах в AVStream.
См. также пакеты объектов и определение таблиц автоматизации.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно в Microsoft Windows XP и более поздних операционных системах и версиях DirectX 8.0 и более поздних версий DirectX. |
целевая платформа | Всеобщий |
заголовка | ks.h (include Ks.h) |
библиотеки | Ks.lib |
IRQL | PASSIVE_LEVEL |