KsRemoveItemFromObjectBag 函式 (ks.h)
KsRemoveItemFromObjectBag 函式會從物件包中移除專案。
語法
KSDDKAPI ULONG KsRemoveItemFromObjectBag(
[in] KSOBJECT_BAG ObjectBag,
[in] PVOID Item,
[in] BOOLEAN Free
);
參數
[in] ObjectBag
此參數會指定要從中移除 Item 之類型 PVOID) 相等的KSOBJECT_BAG (。
[in] Item
要從要求的物件包中移除之專案的指標。 請注意, Item 只會從要求的物件包中移除。 它不會從它可能所在的任何其他物件包中移除。
[in] Free
此參數會指定一旦從指定的物件包中移除 Item 後,是否應該釋放 Item 。 只有在 Item 未包含在任何其他物件包中時,才將 Free 設定為 TRUE。
傳回值
傳回 Item 上的參考數目。 傳回值為零表示 Item 不在呼叫時間的 ObjectBag 中。
一個傳回值表示 專案 已成功從 ObjectBag 移除,而且它不在任何其他物件包中。 如果在此案例中要求免費,AVStream 會使用在 KsAddItemToObjectBag 呼叫時間指定的 ExFreePool 或 Free 方法釋放 Item。
上方的傳回值表示專案存在於另一個物件包中,而且該物件包上仍有參考。 在此情況下,AVStream 已從 ObjectBag 移除 Item,但不會釋放它,而不論 Free 的值為何。
備註
KsRemoveItemFromObjectBag 只有在此項目的參考數目為零且要求免費時,才會釋放 Item 。
如需物件包的詳細資訊,請參閱 物件包。
請注意,必須保留與包相關聯的 Mutex。 如需詳細資訊,請參閱 AVStream中的 Mutexes。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 適用於 Microsoft Windows XP 和更新版本的作業系統和 DirectX 8.0 和更新版本的 DirectX 版本。 |
目標平台 | Universal |
標頭 | ks.h (包含 Ks.h) |
程式庫 | Ks.lib |
IRQL | PASSIVE_LEVEL |