KsAddItemToObjectBag-Funktion (ks.h)
Die funktion KsAddItemToObjectBag fügt dem angegebenen Objektbehälter ein Objekt oder speicherblock hinzu.
Syntax
KSDDKAPI NTSTATUS KsAddItemToObjectBag(
[in] KSOBJECT_BAG ObjectBag,
[in] __drv_aliasesMem PVOID Item,
[in, optional] PFNKSFREE Free
);
Parameter
[in] ObjectBag
Die KSOBJECT_BAG (entspricht dem Typ PVOID), dem das angeforderte Element hinzugefügt werden soll. Jedes AVStream -Objekt (z. B. KSFILTER und KSPIN) enthält ein Element namens Bag. Übergeben Sie dieses Element in diesem Parameter.
[in] Item
Ein Zeiger auf das Element, das dem Objektbehälter hinzugefügt werden soll.
[in, optional] Free
Eine Funktion, die aufgerufen wird, wenn das Element aus dem Objektbehälter entfernt wird oder wenn der Objektbehälter gelöscht wird. Diese Funktion wird in der Regel verwendet, um jeden dynamischen Speicher freizugeben, der Itemzugeordnet ist. Die Funktion sollte wie folgt prototypiert werden:
void Free (IN PVOID Data);
Wenn der Aufrufer diesen optionalen Parameter nicht angibt, wird Item mit ExFreePool freigegeben, wenn er aus dem Objektbehälter entfernt wird oder wenn der Objektbehälter gelöscht wird.
Rückgabewert
Gibt entweder STATUS_SUCCESS zurück, der angibt, dass die Ergänzung normal war, oder STATUS_INSUFFICIENT_RESOURCES angibt, dass nicht genügend Systemressourcen vorhanden sind, damit der Vorgang fortgesetzt werden kann.
Bemerkungen
Vor dem Aufrufen von KsAddItemToObjectBagmuss der Minidriver den mutex abrufen, der dem spezifischen Objektbehälter zugeordnet ist. Wenn ObjectBag Mitglied eines KSDEVICE- oder KSFILTERFACTORY-ist, rufen Sie den Gerätemutex ab. Wenn der Beutel Mitglied eines KSFILTER-ist, rufen Sie den Filtersteuerelement-Mutex ab. Wenn der Beutel Mitglied eines KSPIN--Objekts ist, rufen Sie den Mutex des übergeordneten KSFILTER-Steuerelements ab.
Weitere Informationen finden Sie unter Object Bags und 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 |