Fungsi KsAddItemToObjectBag (ks.h)
Fungsi KsAddItemToObjectBag menambahkan objek atau blok memori ke tas objek yang diberikan.
Sintaks
KSDDKAPI NTSTATUS KsAddItemToObjectBag(
[in] KSOBJECT_BAG ObjectBag,
[in] __drv_aliasesMem PVOID Item,
[in, optional] PFNKSFREE Free
);
Parameter
[in] ObjectBag
KSOBJECT_BAG (setara dengan jenis PVOID) untuk menambahkan item yang diminta. Setiap objek AVStream (misalnya, KSFILTER dan KSPIN) berisi anggota bernama Bag. Berikan anggota tersebut dalam parameter ini.
[in] Item
Penunjuk ke item untuk ditambahkan ke tas objek.
[in, optional] Free
Fungsi yang dipanggil ketika item dihapus dari tas objek atau ketika tas objek dihapus. Fungsi ini biasanya digunakan untuk membebaskan memori dinamis apa pun yang terkait dengan Item. Fungsi harus diprototi sebagai berikut:
void Free (IN PVOID Data);
Jika penelepon tidak menentukan parameter opsional ini, Item dikosongkan dengan ExFreePool saat dihapus dari tas objek atau ketika tas objek dihapus.
Nilai kembali
Baik pengembalian STATUS_SUCCESS menunjukkan bahwa penambahan berjalan normal atau STATUS_INSUFFICIENT_RESOURCES menunjukkan bahwa ada sumber daya sistem yang tidak mencukup agar operasi dilanjutkan.
Keterangan
Sebelum memanggil KsAddItemToObjectBag, minidriver harus memperoleh mutex yang terkait dengan tas objek tertentu. Jika ObjectBag adalah anggota KSDEVICE atau KSFILTERFACTORY, dapatkan mutex perangkat. Jika tas adalah anggota KSFILTER, dapatkan mutex kontrol filter. Jika tas adalah anggota objek KSPIN , dapatkan mutex kontrol filter KSFILTER induk.
Untuk informasi selengkapnya, lihat Tas Objek dan Mutex di AVStream.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia di Microsoft Windows XP dan sistem operasi yang lebih baru dan DirectX 8.0 dan versi DirectX yang lebih baru. |
Target Platform | Universal |
Header | ks.h (termasuk Ks.h) |
Pustaka | Ks.lib |
IRQL | PASSIVE_LEVEL |