Bagikan melalui


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

Lihat juga

ExFreePool

KsAllocateObjectBag

KsCopyObjectBagItems

Kartu KsDis

KsFreeObjectBag

KsRemoveItemFromObjectBag

_KsEdit