Partager via


KsRemoveItemFromObjectBag, fonction (ks.h)

La fonction KsRemoveItemFromObjectBag supprime un élément d’un conteneur 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 la KSOBJECT_BAG (équivalente au type PVOID) à partir de laquelle supprimer Élément.

[in] Item

Pointeur vers l’élément à supprimer du conteneur d’objets demandé. Notez que élément est supprimé du conteneur d’objets demandé uniquement. Il n’est pas supprimé d’autres sacs d’objets qu’il peut être dans.

[in] Free

Ce paramètre spécifie si Élément doit être libéré une fois qu’il a été supprimé du conteneur d’objets spécifié. Définissez uniquement free sur TRUE si élément n’est pas contenu dans un autre conteneur d’objets.

Valeur de retour

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

Une valeur de retour d’un indique que Élément a été supprimé de ObjectBag et qu’il n’était pas dans un autre conteneur d’objets. Si une version gratuite a été demandée dans ce cas, AVStream libère Élément à l’aide de exFreePool ou de la méthode Free spécifiée à KsAddItemToObjectBag l’heure d’appel.

Une valeur de retour ci-dessus indique que l’élément est présent dans un autre conteneur d’objets et qu’il y a toujours des références dessus. Dans ce cas, AVStream a supprimé l’élément de ObjectBag, mais ne l’a pas libéré indépendamment de la valeur de free.

Remarques

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

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

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

Exigences

Exigence Valeur
client minimum 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 Universel
d’en-tête ks.h (include Ks.h)
bibliothèque Ks.lib
IRQL PASSIVE_LEVEL

Voir aussi

KsAddItemToObjectBag

KsAllocateObjectBag

KsCopyObjectBagItems

KsDiscard

KsFreeObjectBag

KsMergeAutomationTables