Поделиться через


Класс CBaseList

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]

Иерархия классов cbaselist

Метод CBaseList реализует абстрактный список. Шаблон класса CGenericList , производный от CBaseList, обеспечивает проверку типов и более простой интерфейс, чем класс CBaseList .

Класс CBaseList смоделирован по образцу класса CObList в библиотеке Microsoft Foundation Classes (MFC). Позиции в списке представлены структурой POSITION. Вызывающий объект не должен обращаться к внутренним членам структуры POSITION; рассматривать его как указатель на узел списка. Положение объекта в списке остается действительным до удаления объекта.

Список не требует поддержки содержащихся в нем объектов. Он не выполняет управление хранилищем или копирование объектов. Объекты могут находиться в нескольких списках.

Примерно половина методов в этом классе действуют на отдельных объектах. Эти методы имеют суффикс — I в имени метода. Другие методы действуют на целые списки. Например, метод CBaseList::AddAfter добавляет список к другому списку. Операции с одним объектом возвращают значения POSITION или NULL при сбое. Операции со списком возвращают значение TRUE в случае успешного выполнения или FALSE в противном случае.

Защищенные переменные-члены Описание
m_Count Количество элементов в списке.
m_pFirst Указатель на первый узел в списке.
m_pLast Указатель на последний узел в списке.
Защищенные методы Описание
GetNextI Извлекает элемент в указанной позиции и перемещает позицию.
GetI Извлекает элемент в указанной позиции.
FindI Извлекает первую позицию, содержащую указанный элемент.
RemoveHeadI Удаляет первый элемент в списке.
RemoveTailI Удаляет последний элемент в списке.
RemoveI Удаляет элемент по указанному положению.
AddTailI Добавляет элемент в конец списка.
AddHeadI Добавляет элемент в начало списка.
AddAfterI Вставляет элемент после указанной позиции.
AddBeforeI Вставляет элемент перед указанной позицией.
Открытые методы Описание
CBaseList Метод конструктора.
~ CBaseList Метод деструктора.
Removeall Удаляет все узлы из списка.
GetHeadPositionI Извлекает позицию первого элемента в списке.
GetTailPositionI Извлекает позицию последнего элемента списка.
GetCountI Извлекает количество элементов в списке.
Далее Извлекает следующую позицию в списке.
Предыдущая Извлекает предыдущую позицию в списке.
AddHead Вставляет другой список в начало этого списка.
AddTail Добавляет еще один список в конец этого списка.
Добавить После Вставляет список после указанной позиции.
AddBefore Вставляет список перед указанной позицией.
MoveToTail Разделяет список и добавляет головную часть к заключительному фрагменту другого списка.
MoveToHead Разделяет список и вставляет хвостовую часть в начало другого списка.
Reverse Изменяет порядок списка в обратном направлении.

Требования

Требование Значение
Заголовок
Wxlist.h (включая Streams.h)
Библиотека
Strmbase.lib (розничные сборки);
Strmbasd.lib (отладочные сборки)

См. также раздел

Базовые классы DirectShow