CImagePalette.PreparePalette 메서드
[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngine 및 Media Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 DirectShow 대신 MediaPlayer, IMFMediaEngine 및 오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
메서드는 PreparePalette
소유 필터의 미디어 형식에 따라 팔레트를 설정합니다.
구문
HRESULT PreparePalette(
const CMediaType *pmtNew,
const CMediaType *pmtOld,
LPSTR szDevice
);
매개 변수
-
pmtNew
-
새 미디어 형식에 대한 포인터입니다. 형식 블록은 VIDEOINFOHEADER 구조체여야 합니다.
-
pmtOld
-
이전 미디어 형식에 대한 포인터입니다. 미디어 형식이 처음으로 설정되는 경우 이 매개 변수는 형식 블록이 없는 빈 형식일 수 있습니다. 그렇지 않으면 서식 블록은 VIDEOINFOHEADER 구조체여야 합니다.
-
szDevice
-
GDI EnumDisplayDevices 함수에서 반환한 표시 디바이스의 이름을 포함하는 문자열에 대한 포인터입니다. 기본 디스플레이 디바이스를 사용하려면 이 매개 변수를 NULL로 설정합니다.
반환 값
색상표가 업데이트된 경우 S_OK 반환하거나 색상표가 변경되지 않은 경우 S_FALSE 반환합니다.
설명
팔레트를 업데이트해야 하는 경우 이 메서드는 다음 작업을 수행합니다.
- CImagePalette::MakePalette를 호출하여 새 논리 팔레트를 만듭니다.
- 필터 그래프 관리자에 EC_PALETTE_CHANGED 이벤트를 보냅니다.
- CBaseWindow 개체에서 CBaseWindow::SetPalette를 호출합니다.
- CDrawImage 개체에서 CDrawImage::IncrementPaletteVersion을 호출합니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 |
|
라이브러리 |
|