Funzione KsAddItemToObjectBag (ks.h)
La funzione KsAddItemToObjectBag aggiunge un oggetto o un blocco di memoria al contenitore di oggetti specificato.
Sintassi
KSDDKAPI NTSTATUS KsAddItemToObjectBag(
[in] KSOBJECT_BAG ObjectBag,
[in] __drv_aliasesMem PVOID Item,
[in, optional] PFNKSFREE Free
);
Parametri
[in] ObjectBag
Oggetto KSOBJECT_BAG (equivalente al tipo PVOID) a cui aggiungere l'elemento richiesto. Ogni oggetto AVStream ,ad esempio KSFILTER e KSPIN, contiene un membro denominato Bag. Passare il membro in questo parametro.
[in] Item
Puntatore all'elemento da aggiungere al contenitore di oggetti.
[in, optional] Free
Funzione che viene chiamata quando l'elemento viene rimosso dal contenitore oggetti o quando il contenitore oggetti viene eliminato. Questa funzione viene in genere utilizzata per liberare qualsiasi memoria dinamica associata a Item. La funzione deve essere prototipo come segue:
void Free (IN PVOID Data);
Se il chiamante non specifica questo parametro facoltativo, Item viene liberato con ExFreePool quando viene rimosso dal contenitore oggetti o quando il contenitore oggetti viene eliminato.
Valore restituito
Restituisce STATUS_SUCCESS che indica che l'addizione è stata eseguita normalmente o STATUS_INSUFFICIENT_RESOURCES che indica che sono presenti risorse di sistema insufficienti per continuare l'operazione.
Commenti
Prima di chiamare KsAddItemToObjectBag, il minidriver deve acquisire il mutex associato al contenitore di oggetti specifico. Se ObjectBag è membro di un KSDEVICE o KSFILTERFACTORY, acquisire il mutex del dispositivo. Se il contenitore è un membro di un KSFILTER, acquisire il mutex del controllo filtro. Se il contenitore è un membro di un oggetto KSPIN , acquisire il mutex del controllo filtro KSFILTER padre.
Per altre informazioni, vedere Contenitori di oggetti e mutex in AVStream.
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 |