Condividi tramite


Funzione KsRemoveItemFromObjectBag (ks.h)

La funzione KsRemoveItemFromObjectBag rimuove un elemento da un contenitore di oggetti.

Sintassi

KSDDKAPI ULONG KsRemoveItemFromObjectBag(
  [in] KSOBJECT_BAG ObjectBag,
  [in] PVOID        Item,
  [in] BOOLEAN      Free
);

Parametri

[in] ObjectBag

Questo parametro specifica il KSOBJECT_BAG (equivalente al tipo PVOID) da cui rimuovere Item.

[in] Item

Puntatore all'elemento da rimuovere dal contenitore di oggetti richiesto. Si noti che Item viene rimosso solo dal contenitore di oggetti richiesto. Non viene rimosso da altri contenitori di oggetti in cui può trovarsi.

[in] Free

Questo parametro specifica se Item deve essere liberato dopo che è stato rimosso dal contenitore di oggetti specificato. Impostare Free su TRUE solo se Item non è contenuto in nessun altro contenitore di oggetti.

Valore restituito

Restituisce il numero di riferimenti in Item. Un valore restituito pari a zero indica che Item non era in ObjectBag in fase di chiamata.

Un valore restituito indica che Item è stato rimosso correttamente da ObjectBag e che non si trovava in nessun altro contenitore di oggetti. Se in questo caso è stato richiesto un valore gratuito, AVStream libera Item usando ExFreePool o il metodo Free specificato in KsAddItemToObjectBag call-time.

Un valore restituito superiore a uno indica che l'elemento è presente in un altro contenitore di oggetti e che vi sono ancora riferimenti. In questo caso AVStream ha rimosso Item da ObjectBag, ma non lo ha liberato indipendentemente dal valore free.

Commenti

KsRemoveItemFromObjectBag libera Item solo se il numero di riferimenti per questo elemento è zero ed è stato richiesto un valore gratuito.

Per altre informazioni sui contenitori di oggetti, vedere Contenitori di oggetti.

Si noti che il mutex associato alla borsa deve essere tenuto. Per altre informazioni, vedere Mutexes 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

Vedi anche

KsAddItemToObjectBag

KsAllocateObjectBag

KsCopyObjectBagItems

KsDiscard

KsFreeObjectBag

KsMergeAutomationTables