IMediaPropertyBag::EnumProperty method (strmif.h)

[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.]

The EnumProperty method retrieves a property/value pair.

Syntax

HRESULT EnumProperty(
  [in]      ULONG   iProperty,
  [in, out] VARIANT *pvarPropertyName,
  [in, out] VARIANT *pvarPropertyValue
);

Parameters

[in] iProperty

Index value of the pair.

[in, out] pvarPropertyName

Pointer to a VARIANT that receives the property's name.

[in, out] pvarPropertyValue

Pointer to a VARIANT that receives the property's value.

Return value

Returns an HRESULT value. Possible values include the following:

Return code Description
S_OK
Success.
E_INVALIDARG
Invalid argument.
E_OUTOFMEMORY
Insufficient memory.
E_POINTER
NULL pointer argument.
HRESULT_FROM_WIN32(ERROR_NO_MORE_ITEMS)
Index out of range.

Remarks

The name is always a string. Set the variant type of the pvarPropertyName parameter to VT_EMPTY or VT_BSTR before calling this method.

The value can be a string (for INFO chunks) or an array of bytes (for DISP chunks). Set the variant type of the pvarPropertyName parameter to VT_EMPTY, VT_BSTR, or (VT_ARRAY | VT_UI1).

Requirements

Requirement Value
Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header strmif.h (include Dshow.h)
Library Strmiids.lib

See also

Error and Success Codes

IMediaPropertyBag Interface