Skip to content

Latest commit

 

History

History
99 lines (66 loc) · 4.38 KB

nf-ks-ksmergeautomationtables.md

File metadata and controls

99 lines (66 loc) · 4.38 KB
UID title description old-location tech.root ms.date keywords ms.keywords req.header req.include-header req.target-type req.target-min-winverclnt req.target-min-winversvr req.kmdf-ver req.umdf-ver req.ddi-compliance req.unicode-ansi req.idl req.max-support req.namespace req.assembly req.type-library req.lib req.dll req.irql targetos req.typenames f1_keywords topic_type api_type api_location api_name
NF:ks.KsMergeAutomationTables
KsMergeAutomationTables function (ks.h)
The KsMergeAutomationTables function merges two automation tables.
stream\ksmergeautomationtables.htm
stream
04/23/2018
KsMergeAutomationTables function
KsMergeAutomationTables, KsMergeAutomationTables function [Streaming Media Devices], avfunc_7e2146e2-0458-48ee-815a-8ea478187e07.xml, ks/KsMergeAutomationTables, stream.ksmergeautomationtables
ks.h
Ks.h
Universal
Available in Microsoft Windows XP and later operating systems and DirectX 8.0 and later DirectX versions.
Ks.lib
PASSIVE_LEVEL
Windows
KsMergeAutomationTables
ks/KsMergeAutomationTables
APIRef
kbSyntax
LibDef
Ks.lib
Ks.dll
KsMergeAutomationTables

KsMergeAutomationTables function

-description

The KsMergeAutomationTables function merges two automation tables.

-parameters

-param AutomationTableAB [out]

A pointer to the location at which a pointer to a KSAUTOMATION_TABLE is deposited. This structure is the resulting merged automation table.

-param AutomationTableA [in, optional]

A pointer to a KSAUTOMATION_TABLE structure representing the first of the two automation tables to merge. This table is the dominant table with respect to duplicate entries. If NULL, AutomationTableB is copied into AutomationTableAB and optionally placed in Bag.

-param AutomationTableB [in, optional]

A pointer to a KSAUTOMATION_TABLE structure representing the second of the two automation tables to merge. If NULL, AutomationTableA is copied into AutomationTableAB and optionally placed in Bag.

-param Bag [in, optional]

The newly created automation table is placed in this KSOBJECT_BAG (equivalent to type PVOID) for later clean up. This parameter is optional.

-returns

KsMergeAutomationTables returns STATUS_SUCCESS if the merge successfully completes. If unsuccessful, it returns an error code. The most frequent error code is STATUS_INSUFFICIENT_RESOURCES, which indicates that there are insufficient system resources to complete the merge.

-remarks

If both AutomationTableA and AutomationTableB are NULL, this routine performs no action and returns STATUS_SUCCESS.

The entries in AutomationTableA have priority in the merge. If there is an entry that appears in both AutomationTableA and AutomationTableB, the entry in AutomationTableA is the one that is placed into the merged table. The newly created automation table is placed in the requested object bag if one is provided.

If an input table is in an object bag at call-time, AVStream removes the table from the object bag before KsMergeAutomationTables returns.

If the Bag parameter is not NULL, the minidriver should take the mutex associated with the object bag prior to calling this routine. If the bag is associated with a pin or a filter, then the control mutex must be held. If the bag is associated with a filter factory or a device, then the device mutex should be held. For more information, see Mutexes in AVStream.

Also see Object Bags and Defining Automation Tables.

-see-also

KsAddItemToObjectBag

KsCopyObjectBagItems

KsRemoveItemFromObjectBag