CImagePalette.PreparePalette 方法

[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayerIMFMediaEngine音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

方法 PreparePalette 根据拥有筛选器中的媒体类型设置调色板。

语法

HRESULT PreparePalette(
   const CMediaType *pmtNew,
   const CMediaType *pmtOld,
         LPSTR      szDevice
);

参数

pmtNew

指向新媒体类型的指针。 格式块必须是 VIDEOINFOHEADER 结构。

pmtOld

指向旧媒体类型的指针。 如果首次设置媒体类型,则此参数可以是没有格式块的空类型。 否则,格式块必须是 VIDEOINFOHEADER 结构。

szDevice

指向包含显示设备名称的字符串的指针,由 GDI EnumDisplayDevices 函数返回。 若要使用main显示设备,请将此参数设置为 NULL

返回值

如果调色板已更新,则返回S_OK;如果调色板未更改,则返回S_FALSE。

备注

如果需要更新调色板,此方法将执行以下操作:

要求

要求
标头
Winutil.h (包括 Streams.h)

Strmbase.lib (零售版本) ;
Strmbasd.lib (调试生成)

另请参阅

CImagePalette 类