Funzione KsMergeAutomationTables (ks.h)
La funzione KsMergeAutomationTables unisce due tabelle di automazione.
Sintassi
KSDDKAPI NTSTATUS KsMergeAutomationTables(
[out] PKSAUTOMATION_TABLE *AutomationTableAB,
[in, optional] PKSAUTOMATION_TABLE AutomationTableA,
[in, optional] PKSAUTOMATION_TABLE AutomationTableB,
[in, optional] KSOBJECT_BAG Bag
);
Parametri
[out] AutomationTableAB
Puntatore alla posizione in cui viene depositato un puntatore a un KSAUTOMATION_TABLE . Questa struttura è la tabella di automazione unita risultante.
[in, optional] AutomationTableA
Puntatore a una struttura KSAUTOMATION_TABLE che rappresenta la prima delle due tabelle di automazione da unire. Questa tabella è la tabella dominante rispetto alle voci duplicate. Se NULL, AutomationTableB viene copiato in AutomationTableAB e, facoltativamente, inserito in Bag.
[in, optional] AutomationTableB
Puntatore a una struttura KSAUTOMATION_TABLE che rappresenta il secondo delle due tabelle di automazione da unire. Se NULL, AutomationTableA viene copiato in AutomationTableAB e, facoltativamente, inserito in Bag.
[in, optional] Bag
La tabella di automazione appena creata viene inserita in questa KSOBJECT_BAG (equivalente al tipo PVOID) per la pulizia successiva. Questo parametro è facoltativo e,
Valore restituito
KsMergeAutomationTables restituisce STATUS_SUCCESS se l'unione viene completata correttamente. In caso di esito negativo, restituisce un codice di errore. Il codice di errore più frequente è STATUS_INSUFFICIENT_RESOURCES, che indica che sono presenti risorse di sistema insufficienti per completare l'unione.
Commenti
Se AutomationTableA e AutomationTableB sono NULL, questa routine non esegue alcuna azione e restituisce STATUS_SUCCESS.
Le voci in AutomationTableA hanno priorità nell'unione. Se è presente una voce visualizzata sia in AutomationTableA che in AutomationTableB, la voce in AutomationTableA è quella inserita nella tabella unita. La tabella di automazione appena creata viene inserita nel contenitore di oggetti richiesto, se disponibile.
Se una tabella di input si trova in un contenitore di oggetti in fase di chiamata, AVStream rimuove la tabella dal contenitore di oggetti prima che KsMergeAutomationTables restituisca .
Se il parametro Bag non è NULL, il minidriver deve accettare il mutex associato al contenitore di oggetti prima di chiamare questa routine. Se il contenitore è associato a un pin o a un filtro, il mutex del controllo deve essere mantenuto. Se il contenitore è associato a una factory di filtro o a un dispositivo, il mutex del dispositivo deve essere mantenuto. Per altre informazioni, vedere Mutexes in AVStream.
Vedere anche Contenitori di oggetti e Definizione di tabelle di automazione.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile nei sistemi operativi Microsoft Windows XP e versioni successive e DirectX 8.0 e versioni successive di DirectX. |
Piattaforma di destinazione | Universale |
Intestazione | ks.h (include Ks.h) |
Libreria | Ks.lib |
IRQL | PASSIVE_LEVEL |