IPropertySetter::GetProps method

[The feature associated with this page, DirectShow, is a legacy feature. It has been superseded by MediaPlayer, IMFMediaEngine, and Audio/Video Capture in Media Foundation. Those features have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer, IMFMediaEngine and Audio/Video Capture in Media Foundation instead of DirectShow, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

Note

[Deprecated. This API may be removed from future releases of Windows.]

 

The GetProps method retrieves the properties set on this object, with their corresponding values.

Syntax

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

Parameters

pcParams [out]

Receives the number of structures returned in paParam.

paParam [out]

Address of a pointer to an array of DEXTER_PARAM structures.

paValue [out]

Address of a pointer to an array of DEXTER_VALUE structures.

Return value

If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.

Remarks

For each property returned in paParam, the nValues member indicates the number of DEXTER_VALUE structures associated with the property. The pairs are returned in ascending time order for each property.

When you are finished using the returned structures, call IPropertySetter::FreeProps to free the resources allocated by this method.

Note

The header file Qedit.h is not compatible with Direct3D headers later than version 7.

 

Note

To obtain Qedit.h, download the Microsoft Windows SDK Update for Windows Vista and .NET Framework 3.0. Qedit.h is not available in the Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 Service Pack 1.

 

Examples

The following code example shows how to iterate through all the values on an instance of the property setter:

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;
}

Requirements

Requirement Value
Header
Qedit.h
Library
Strmiids.lib

See also

IPropertySetter Interface

Error and Success Codes