Compartilhar via


Função KsRemoveItemFromObjectBag (ks.h)

A função KsRemoveItemFromObjectBag remove um item de um recipiente de objetos.

Sintaxe

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

Parâmetros

[in] ObjectBag

Esse parâmetro especifica o KSOBJECT_BAG (equivalente ao tipo PVOID) do qual remover Item.

[in] Item

Um ponteiro para o item a ser removido do recipiente de objetos solicitado. Observe que Item é removido apenas do recipiente de objetos solicitado. Ele não é removido de nenhum outro objeto em que possa estar.

[in] Free

Esse parâmetro especifica se Item deve ser liberado depois de ser removido do recipiente de objetos especificado. Defina Livre como TRUE somente se Item não estiver contido em nenhum outro recipiente de objetos.

Retornar valor

Retorna o número de referências no Item. Um valor retornado de zero indica que Item não estava em ObjectBag no momento da chamada.

Um valor retornado de um indica que Item foi removido com êxito do ObjectBag e que ele não estava em nenhum outro recipiente de objetos. Se um gratuito tiver sido solicitado nesse caso, o AVStream liberará Item usando ExFreePool ou o método Free especificado em KsAddItemToObjectBag .

Um valor retornado acima de um indica que o item está presente em outro recipiente de objetos e que ainda há referências nele. Nesse caso, o AVStream removeu Item do ObjectBag, mas não o liberou independentemente do valor de Free.

Comentários

KsRemoveItemFromObjectBag libera Item somente se o número de referências neste item for zero e um gratuito for solicitado.

Para obter mais informações sobre sacos de objeto, consulte Sacos de Objeto.

Observe que o mutex associado ao saco deve ser mantido. Para obter mais informações, confira Mutexes no AVStream.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Microsoft Windows XP e em sistemas operacionais posteriores e no DirectX 8.0 e versões posteriores do DirectX.
Plataforma de Destino Universal
Cabeçalho ks.h (inclua Ks.h)
Biblioteca Ks.lib
IRQL PASSIVE_LEVEL

Confira também

KsAddItemToObjectBag

KsAllocateObjectBag

KsCopyObjectBagItems

KsDiscard

KsFreeObjectBag

KsMergeAutomationTables