CBaseControlVideo.GetVideoPaletteEntries 方法

[與此頁面相關的功能 DirectShow是舊版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayerIMFMediaEngine音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議使用舊版 API 的現有程式碼盡可能重寫為使用新的 API。

方法 GetVideoPaletteEntries 會擷取影片的調色盤專案範圍。

語法

HRESULT GetVideoPaletteEntries(
   long StartIndex,
   long Entries,
   long *pRetrieved,
   long *pPalette
);

參數

StartIndex

以零起始的開始調色盤專案。

條目

所需的專案數目。

pRetrieved

取得之色彩數目的指標。

pPalette

色彩輸出緩衝區的指標。

傳回值

如果成功,則會傳回 NOERROR,VFW_E_NO_PALETTE_AVAILABLE如果視訊樣本沒有調色盤,E_OUTOFMEMORY如果記憶體不足,E_INVALIDARG如果 StartIndex 無效,或如果調色盤中沒有色彩,S_FALSE。

備註

這個成員函式會將影片的目前調色盤傳回為使用者配置的陣列。 若要保持一致,請使用 Win32 PALETTEENTRY 結構中的成員來傳回色彩,而不是 RGBQUAD 結構中的成員 (,不過參數是 LONG) 。 記憶體是由呼叫端所配置,因此只要逐一複製每個記憶體即可。 判斷所要求的專案數目和開始位置位移都有效。 如果專案數目評估為零,則傳回S_FALSE程式碼。

規格需求

需求
標頭
Ctlutil.h (包含 Streams.h)
程式庫
Strmbase.lib (零售組建) ;
Strmbasd.lib (偵錯組建)

另請參閱

CBaseControlVideo 類別