Struktur KSFILTERFACTORY (ks.h)

Struktur KSFILTERFACTORY mewakili pabrik filter.

Sintaks

typedef struct _KSFILTERFACTORY {
  const KSFILTER_DESCRIPTOR *FilterDescriptor;
  KSOBJECT_BAG              Bag;
  PVOID                     Context;
} KSFILTERFACTORY, *PKSFILTERFACTORY;

Anggota

FilterDescriptor

Penunjuk ke struktur KSFILTER_DESCRIPTOR yang menjelaskan karakteristik filter yang dibuat oleh pabrik ini.

Bag

Anggota ini menentukan KSOBJECT_BAG (setara dengan jenis PVOID) yang terkait dengan pabrik filter ini. Tas objek adalah struktur yang digunakan untuk mengaitkan memori dinamis dengan objek AVStream tertentu. Apa pun di kantong objek pabrik filter secara otomatis dibersihkan ketika pabrik filter dihapus. Lihat bagian konseptual di Object Bags untuk informasi selengkapnya.

Context

Pointer ke alamat memori yang dapat digunakan klien untuk mengaitkan informasi konteks dengan pabrik filter. AVStream tidak menggunakan anggota ini dengan cara apa pun. Perhatikan bahwa memori dinamis apa pun yang terkait dengan pabrik filter harus ditempatkan di tas objek dengan KsAddItemToObjectBag. Konteks diinisialisasi ke nilai anggota Konteksdari KSDEVICE induk pada saat pabrik dibuat. Lihat Hierarki Objek AVStream.

Keterangan

Pabrik filter secara eksplisit mewakili kemampuan perangkat untuk membuat instans jenis filter tertentu seperti yang dijelaskan oleh deskriptor filter.

Driver untuk perangkat keras biasanya menggunakan struktur ini untuk mengelola fungsi tertentu dari perangkat keras yang diekspos sebagai jenis filter. Filter perangkat lunak umumnya tidak perlu mengelola perangkat pada tingkat ini.

Objek pabrik filter dibuat dengan dua cara. Mereka dapat dibuat selama pemrosesan AddDevice seperti yang ditunjukkan oleh daftar deskriptor filter pendeskripsi perangkat. Mereka juga dapat dibuat secara eksplisit oleh klien dalam panggilan ke KsCreateFilterFactory. Klien dapat membuat pabrik filter kapan saja, tetapi ini biasanya dilakukan selama pemrosesan IRP mulai PnP ketika evaluasi sumber daya yang ditetapkan menunjukkan jenis filter apa yang harus diekspos oleh perangkat.

Untuk tujuan sinkronisasi, masa pakai pabrik filter yang dibuat secara implisit didefinisikan sebagai interval dimulai ketika perangkat klien membuat fungsi pengiriman adalah (atau akan) dipanggil dan berakhir setelah perangkat klien PnP menghapus fungsi pengiriman adalah (atau akan) dipanggil. Masa pakai pabrik filter yang dibuat secara eksplisit dengan memanggil KsCreateFilterFactory dimulai segera setelah panggilan tersebut kembali.

Lihat juga Object Bags.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia di Microsoft Windows XP dan sistem operasi yang lebih baru dan di Microsoft DirectX 8.0 dan versi yang lebih baru.
Header ks.h (termasuk Ks.h)

Lihat juga

KSFILTER_DESCRIPTOR

KsAddItemToObjectBag

KsCreateFilterFactory