Функция KsRemoveItemFromObjectBag (ks.h)
Функция KsRemoveItemFromObjectBag удаляет элемент из контейнера объектов.
Синтаксис
KSDDKAPI ULONG KsRemoveItemFromObjectBag(
[in] KSOBJECT_BAG ObjectBag,
[in] PVOID Item,
[in] BOOLEAN Free
);
Параметры
[in] ObjectBag
Этот параметр задает KSOBJECT_BAG (эквивалент типа PVOID), из которого удаляется Item.
[in] Item
Указатель на элемент, удаляемый из запрошенного контейнера объектов. Обратите внимание, что Item удаляется только из запрошенного контейнера объектов. Он не удаляется из других мешков предметов, в которые он может находиться.
[in] Free
Этот параметр указывает, следует ли освобождать Item после его удаления из указанного контейнера объектов. Задайте для свойства Free значение TRUE , только если Item не содержится в других контейнерах объектов.
Возвращаемое значение
Возвращает количество ссылок на Item. Возвращаемое нулевое значение указывает, что Item не был в ObjectBag во время вызова.
Возвращаемое значение 1 указывает, что элемент был успешно удален из ObjectBag и что он не был в другом контейнере объектов. Если в этом случае запрашивается бесплатный, AVStream освобождает Item с помощью ExFreePool или метода Free, указанного во время вызова KsAddItemToObjectBag .
Возвращаемое значение выше одного указывает, что элемент присутствует в другом контейнере объектов и что на него по-прежнему имеются ссылки. В этом случае AVStream удалил элемент из ObjectBag, но не освободил его независимо от значения Free.
Комментарии
KsRemoveItemFromObjectBag освобождает Item только в том случае, если количество ссылок на этот элемент равно нулю и был запрошен бесплатный.
Дополнительные сведения о контейнерах объектов см. в разделе Контейнеры объектов.
Обратите внимание, что мьютекс, связанный с сумкой, должен быть удержан. Дополнительные сведения см. в разделе Мьютексы в AVStream.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в операционных системах Microsoft Windows XP и более поздних версиях, а также DirectX 8.0 и более поздних версиях. |
Целевая платформа | Универсальное |
Верхняя часть | ks.h (включая Ks.h) |
Библиотека | Ks.lib |
IRQL | PASSIVE_LEVEL |