KsRemoveItemFromObjectBag, fonction (ks.h)

La fonction KsRemoveItemFromObjectBag supprime un élément d’un sac d’objets.

Syntaxe

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

Paramètres

[in] ObjectBag

Ce paramètre spécifie le KSOBJECT_BAG (équivalent au type PVOID) à partir duquel supprimer Item.

[in] Item

Pointeur vers l’élément à supprimer du sac d’objets demandé. Notez que Item est supprimé du sac d’objets demandé uniquement. Il n’est supprimé d’aucun autre sac d’objets dans lequel il peut se trouver.

[in] Free

Ce paramètre spécifie si Item doit être libéré une fois qu’il a été supprimé du sac d’objets spécifié. Définissez Libre sur TRUE uniquement si Item n’est contenu dans aucun autre sac d’objets.

Valeur retournée

Retourne le nombre de références sur Item. Une valeur de retour de zéro indique que Item n’était pas dans ObjectBag au moment de l’appel.

Une valeur de retour d’un indique que Item a été supprimé d’ObjectBag et qu’il ne se trouvait dans aucun autre sac d’objets. Si une option gratuite a été demandée dans ce cas, AVStream libère Item à l’aide d’ExFreePool ou de la méthode Free spécifiée au moment de l’appel KsAddItemToObjectBag .

Une valeur de retour au-dessus d’une indique que l’élément est présent dans un autre sac d’objets et qu’il existe encore des références dessus. Dans ce cas, AVStream a supprimé Item d’ObjectBag, mais ne l’a pas libéré, quelle que soit la valeur de Free.

Remarques

KsRemoveItemFromObjectBag libère Item uniquement si le nombre de références sur cet élément est égal à zéro et qu’un élément gratuit a été demandé.

Pour plus d’informations sur les sacs d’objets, consultez Sacs d’objets.

Notez que le mutex associé au sac doit être conservé. Pour plus d’informations, consultez Mutexes dans AVStream.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Microsoft Windows XP et les systèmes d’exploitation ultérieurs et DirectX 8.0 et versions ultérieures de DirectX.
Plateforme cible Universal
En-tête ks.h (inclure Ks.h)
Bibliothèque Ks.lib
IRQL PASSIVE_LEVEL

Voir aussi

KsAddItemToObjectBag

KsAllocateObjectBag

KsCopyObjectBagItems

KsDiscard

KsFreeObjectBag

KsMergeAutomationTables