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 oggetti.
[in, optional] Free
Funzione chiamata quando l'elemento viene rimosso dal contenitore oggetti o quando viene eliminato il contenitore di oggetti. Questa funzione viene in genere usata 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 è andata normalmente o STATUS_INSUFFICIENT_RESOURCES che indica che l'operazione non è sufficiente per continuare.
Osservazioni
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 è membro di un KSFILTER, acquisire il mutex del controllo filtro. Se il contenitore è membro di un oggetto KSPIN, acquisire il mutex del controllo filtro KSFILTER padre.
Per altre informazioni, vedere e Mutexes in AVStream.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Disponibile in Microsoft Windows XP e nei sistemi operativi successivi e in DirectX 8.0 e versioni successive di DirectX. |
piattaforma di destinazione | Universale |
intestazione | ks.h (include Ks.h) |
libreria | Ks.lib |
IRQL | PASSIVE_LEVEL |