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 |