CImagePalette.PreparePalette 方法
[與此頁面 相關的功能 DirectShow是舊版功能。 它已被 MediaPlayer、 IMFMediaEngine和 Media Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayer、 IMFMediaEngine 和 音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議盡可能重寫使用舊版 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。
規格需求
需求 | 值 |
---|---|
標頭 |
|
程式庫 |
|