CBaseList 클래스

[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngineMedia Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 DirectShow 대신 MediaPlayer, IMFMediaEngine오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]

cbaselist 클래스 계층 구조

CBaseList 메서드는 중단 목록을 구현합니다. CBaseList에서 파생되는 CGenericList 클래스 템플릿은 CBaseList 클래스보다 형식 검사 및 간단한 인터페이스를 제공합니다.

CBaseList 클래스는 MFC(Microsoft Foundation Classes) 라이브러리의 CObList 클래스를 모델로 합니다. 목록 내의 위치는 POSITION 구조체로 표시됩니다. 호출자는 POSITION 구조의 내부 멤버에 액세스해서는 안 됩니다. 목록 노드에 대한 포인터로 처리합니다. 개체가 삭제될 때까지 목록에 있는 개체의 위치는 유효한 상태로 유지됩니다.

목록에 포함된 개체에 대한 지원이 필요하지 않습니다. 개체에서 스토리지 관리 또는 복사를 수행하지 않습니다. 개체는 여러 목록에 있을 수 있습니다.

이 클래스의 메서드 중 약 절반이 단일 개체에 대해 작동합니다. 이러한 메서드에는 접미사가 있습니다. 메서드 이름에 I입니다. 다른 메서드는 전체 목록에서 작동합니다. 예를 들어 CBaseList::AddAfter 메서드는 목록을 다른 목록에 추가합니다. 단일 개체 작업은 POSITION 값을 반환하거나 실패 시 NULL 을 반환합니다. 성공하면 목록 작업이 TRUE 를 반환하고 그렇지 않으면 FALSE를 반환합니다.

보호된 멤버 변수 Description
m_Count 목록의 항목 수입니다.
m_pFirst 목록의 첫 번째 노드에 대한 포인터입니다.
m_pLast 목록의 마지막 노드에 대한 포인터입니다.
Protected 메서드 Description
GetNextI 지정된 위치에서 항목을 검색하고 위치를 이동합니다.
GetI(GetI) 지정된 위치에서 항목을 검색합니다.
FindI 지정된 항목을 보유하는 첫 번째 위치를 검색합니다.
RemoveHeadI 목록에서 첫 번째 항목을 제거합니다.
RemoveTailI 목록에서 마지막 항목을 제거합니다.
RemoveI 지정된 위치에 있는 항목을 제거합니다.
AddTailI 목록의 끝에 항목을 추가합니다.
AddHeadI 목록의 맨 앞에 항목을 추가합니다.
AddAfterI 지정된 위치 뒤에 항목을 삽입합니다.
AddBeforeI 지정된 위치 앞에 항목을 삽입합니다.
Public 메서드 Description
CBaseList 생성자 메서드입니다.
~ CBaseList 소멸자 메서드입니다.
Removeall 목록에서 모든 노드를 제거합니다.
GetHeadPositionI 목록에서 첫 번째 항목의 위치를 검색합니다.
GetTailPositionI 목록의 마지막 항목 위치를 검색합니다.
GetCountI 목록의 항목 수를 검색합니다.
다음 목록에서 다음 위치를 검색합니다.
이전 목록에서 이전 위치를 검색합니다.
AddHead 이 목록의 맨 앞에 다른 목록을 삽입합니다.
AddTail 이 목록의 끝에 다른 목록을 추가합니다.
AddAfter 지정된 위치 뒤에 목록을 삽입합니다.
AddBefore 지정된 위치 앞에 목록을 삽입합니다.
MoveToTail 목록을 분할하고 머리 부분을 다른 목록의 꼬리에 추가합니다.
MoveToHead 목록을 분할하고 다른 목록의 맨 앞에 꼬리 부분을 삽입합니다.
역방향 목록의 순서를 반전합니다.

요구 사항

요구 사항
헤더
Wxlist.h(Streams.h 포함)
라이브러리
Strmbase.lib(소매 빌드);
Strmbasd.lib(디버그 빌드)

추가 정보

DirectShow 기본 클래스