Freigeben über


KsRemoveItemFromObjectBag-Funktion (ks.h)

Die KsRemoveItemFromObjectBag--Funktion entfernt ein Element aus einem Objektbehälter.

Syntax

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

Parameter

[in] ObjectBag

Dieser Parameter gibt den KSOBJECT_BAG (entspricht dem Typ PVOID) an, aus dem Itementfernt werden soll.

[in] Item

Ein Zeiger auf das Element, das aus dem angeforderten Objektbehälter entfernt werden soll. Beachten Sie, dass Element- nur aus dem angeforderten Objektbehälter entfernt wird. Es wird nicht von anderen Objekttüten entfernt, in denen es sich befinden kann.

[in] Free

Dieser Parameter gibt an, ob Item freigegeben werden soll, nachdem es aus dem angegebenen Objektbehälter entfernt wurde. Legen Sie "Free" nur auf TRUE fest, wenn Element- nicht in einem anderen Objektbehälter enthalten ist.

Rückgabewert

Gibt die Anzahl der Verweise für Itemzurück. Ein Rückgabewert von Null gibt an, dass Item- zur Aufrufzeit nicht in ObjectBag- war.

Ein Rückgabewert von 1 gibt an, dass Item- erfolgreich aus ObjectBag- entfernt wurde und dass es sich nicht in einem anderen Objektbehälter befand. Wenn in diesem Fall eine kostenlose Anforderung angefordert wurde, gibt AVStream Item entweder mit ExFreePool oder der Free-Methode frei, die bei KsAddItemToObjectBag Aufrufzeit angegeben wurde.

Ein Rückgabewert oberhalb eines Werts gibt an, dass das Element in einem anderen Objektbehälter vorhanden ist und dass weiterhin Verweise darauf vorhanden sind. In diesem Fall hat AVStream Item aus ObjectBagentfernt, jedoch nicht frei, unabhängig vom Wert von Free.

Bemerkungen

KsRemoveItemFromObjectBag gibt Item nur frei, wenn die Anzahl der Verweise auf dieses Element null ist und ein kostenloser Vorgang angefordert wurde.

Weitere Informationen zu Objektbehältern finden Sie unter Object Bags.

Beachten Sie, dass der mutex, der dem Beutel zugeordnet ist, gehalten werden muss. Weitere Informationen finden Sie unter Mutexes in AVStream.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar in Microsoft Windows XP und höheren Betriebssystemen und DirectX 8.0 und höher directX-Versionen.
Zielplattform- Universal
Header- ks.h (enthalten Ks.h)
Library Ks.lib
IRQL- PASSIVE_LEVEL

Siehe auch

KsAddItemToObjectBag

KsAllocateObjectBag

KsCopyObjectBagItems

KsDiscard-

KsFreeObjectBag-

KsMergeAutomationTables