CBaseControlVideo.GetVideoPaletteEntries 方法

[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 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;如果 StartIndex 无效,则返回E_INVALIDARG;如果调色板中没有颜色,则返回S_FALSE。

备注

此成员函数以用户分配的数组的形式返回视频的当前调色板。 若要保持一致,请使用 Win32 PALETTEENTRY 结构中的成员返回颜色,而不是 RGBQUAD 结构中的成员 (尽管 参数是 LONG) 。 内存由调用方分配,因此只需依次复制每个内存。 确定请求的条目数和起始位置偏移量都有效。 如果条目数的计算结果为零,则返回S_FALSE代码。

要求

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

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

另请参阅

CBaseControlVideo 类