Función KsRemoveItemFromObjectBag (ks.h)

La función KsRemoveItemFromObjectBag quita un elemento de un contenedor de objetos.

Sintaxis

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

Parámetros

[in] ObjectBag

Este parámetro especifica el KSOBJECT_BAG (equivalente al tipo PVOID) del que se va a quitar Item.

[in] Item

Puntero al elemento que se va a quitar del contenedor de objetos solicitado. Tenga en cuenta que Item solo se quita del contenedor de objetos solicitado. No se quita de ninguna otra bolsa de objetos en la que pueda estar.

[in] Free

Este parámetro especifica si Item debe liberarse una vez que se haya quitado del contenedor de objetos especificado. Solo establezca Gratis en TRUE si Item no está incluido en ningún otro contenedor de objetos.

Valor devuelto

Devuelve el número de referencias en Item. Un valor devuelto de cero indica que Item no estaba en ObjectBag en el momento de la llamada.

Un valor devuelto de uno indica que Item se quitó correctamente de ObjectBag y que no estaba en ningún otro contenedor de objetos. Si se solicitó una versión gratuita en este caso, AVStream libera Item mediante ExFreePool o el método Free especificado en el tiempo de llamada KsAddItemToObjectBag .

Un valor devuelto por encima de uno indica que el elemento está presente en otro contenedor de objetos y que todavía hay referencias en él. En este caso, AVStream quitó Item de ObjectBag, pero no lo liberó independientemente del valor de Free.

Comentarios

KsRemoveItemFromObjectBag libera Item solo si el número de referencias de este elemento es cero y se solicitó un elemento gratuito.

Para obtener más información sobre las bolsas de objetos, vea Bolsas de objetos.

Tenga en cuenta que la exclusión mutua asociada a la bolsa debe mantenerse. Para obtener más información, vea Exclusión mutua en AVStream.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Microsoft Windows XP y sistemas operativos posteriores y DirectX 8.0 y versiones posteriores de DirectX.
Plataforma de destino Universal
Encabezado ks.h (incluya Ks.h)
Library Ks.lib
IRQL PASSIVE_LEVEL

Consulte también

KsAddItemToObjectBag

KsAllocateObjectBag

KsCopyObjectBagItems

KsDiscard

KsFreeObjectBag

KsMergeAutomationTables