Fungsi KsMergeAutomationTables (ks.h)

Fungsi KsMergeAutomationTables menggabungkan dua tabel otomatisasi.

Sintaks

KSDDKAPI NTSTATUS KsMergeAutomationTables(
  [out]          PKSAUTOMATION_TABLE *AutomationTableAB,
  [in, optional] PKSAUTOMATION_TABLE AutomationTableA,
  [in, optional] PKSAUTOMATION_TABLE AutomationTableB,
  [in, optional] KSOBJECT_BAG        Bag
);

Parameter

[out] AutomationTableAB

Penunjuk ke lokasi di mana pointer ke KSAUTOMATION_TABLE disimpan. Struktur ini adalah tabel otomatisasi gabungan yang dihasilkan.

[in, optional] AutomationTableA

Penunjuk ke struktur KSAUTOMATION_TABLE yang mewakili yang pertama dari dua tabel otomatisasi yang akan digabungkan. Tabel ini adalah tabel dominan sehubungan dengan entri duplikat. Jika NULL, AutomationTableB disalin ke AutomationTableAB dan secara opsional ditempatkan di Bag.

[in, optional] AutomationTableB

Penunjuk ke struktur KSAUTOMATION_TABLE yang mewakili tabel kedua dari dua tabel otomatisasi untuk digabungkan. Jika NULL, AutomationTableA disalin ke AutomationTableAB dan secara opsional ditempatkan di Bag.

[in, optional] Bag

Tabel otomatisasi yang baru dibuat ditempatkan dalam KSOBJECT_BAG ini (setara dengan jenis PVOID) untuk dibersihkan nanti. Parameter ini bersifat opsional.

Nilai kembali

KsMergeAutomationTables mengembalikan STATUS_SUCCESS jika penggabungan berhasil diselesaikan. Jika tidak berhasil, kode kesalahan akan ditampilkan. Kode kesalahan yang paling sering adalah STATUS_INSUFFICIENT_RESOURCES, yang menunjukkan bahwa ada sumber daya sistem yang tidak mencukupi untuk menyelesaikan penggabungan.

Keterangan

Jika AutomationTableA dan AutomationTableBadalah NULL, rutinitas ini tidak melakukan tindakan dan mengembalikan STATUS_SUCCESS.

Entri dalam AutomationTableA memiliki prioritas dalam penggabungan. Jika ada entri yang muncul di AutomationTableA dan AutomationTableB, entri di AutomationTableA adalah entri yang ditempatkan ke dalam tabel gabungan. Tabel otomatisasi yang baru dibuat ditempatkan di kantong objek yang diminta jika disediakan.

Jika tabel input berada dalam tas objek pada waktu panggilan, AVStream menghapus tabel dari tas objek sebelum KsMergeAutomationTables kembali.

Jika parameter Bag bukan NULL, minidriver harus mengambil mutex yang terkait dengan tas objek sebelum memanggil rutinitas ini. Jika tas dikaitkan dengan pin atau filter, maka mutex kontrol harus ditahan. Jika tas dikaitkan dengan pabrik filter atau perangkat, maka mutex perangkat harus ditahan. Untuk informasi selengkapnya, lihat Mutex di AVStream.

Lihat juga Tas Objek dan Menentukan Tabel Otomatisasi.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia di Microsoft Windows XP dan sistem operasi yang lebih baru serta DirectX 8.0 dan versi DirectX yang lebih baru.
Target Platform Universal
Header ks.h (termasuk Ks.h)
Pustaka Ks.lib
IRQL PASSIVE_LEVEL

Lihat juga

KsAddItemToObjectBag

KsCopyObjectBagItems

KsRemoveItemFromObjectBag