IPropertySetter::GetProps 方法

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

注意

[已弃用。 此 API 可能会从 Windows 的未来版本中删除。]

 

方法 GetProps 检索在此对象上设置的属性及其相应的值。

语法

HRESULT GetProps(
  [out] LONG         *pcParams,
  [out] DEXTER_PARAM **paParam,
  [out] DEXTER_VALUE **paValue
);

参数

pcParams [out]

接收 在 paParam 中返回的结构数。

paParam [out]

指向 DEXTER_PARAM 结构的数组的指针的地址。

paValue [out]

指向 DEXTER_VALUE 结构的数组的指针的地址。

返回值

如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

备注

对于 paParam 中返回的每个属性, nValues 成员指示与属性关联的 DEXTER_VALUE 结构的数目。 每个属性的对按升序时间顺序返回。

使用完返回的结构后,调用 IPropertySetter::FreeProps 以释放此方法分配的资源。

注意

头文件 Qedit.h 与版本 7 之后的 Direct3D 标头不兼容。

 

注意

若要获取 Qedit.h,请下载适用于 Windows Vista 和 .NET Framework 3.0 的Microsoft Windows SDK更新。 Qedit.h 在 Windows 7 和 .NET Framework 3.5 Service Pack 1 的Microsoft Windows SDK中不可用。

 

示例

下面的代码示例演示如何循环访问属性资源库实例上的所有值:

IPropertySetter *pSetter = NULL;
// Get a valid IPropertySetter pointer (not shown).

DEXTER_PARAM *pParam;
DEXTER_VALUE *pValue;
LONG count;

hr = pSetter->GetProps(&count, &pParam, &pValue);

LONG num = 0;
for (LONG i = 0; i < count; i++)
{
    for (LONG j = 0; j < pParam[i].nValues; j++)
    {
        // pValue[num] is the next value in the sequence for pParam[i]
    }
    num += pParam[i].nValues;
}

要求

要求
标头
Qedit.h

Strmiids.lib

另请参阅

IPropertySetter 接口

错误和成功代码