Microsoft DirectX 9.0


Note   The IEnumRegFilters interface is deprecated.

Fills the array with descriptions of the next set of filters (specified by the cFilters parameter) that meet the requirements specified upon creation of the enumerator.


    ULONG cFilters,
    REGFILTER **apRegFilter,
    ULONG *pcFetched



[in] Number of filters.


[out] Address of a pointer to an array of REGFILTER pointers.


[out] Pointer to the actual number of filters passed.

Return Value

Returns one of the following HRESULT values.

Return code Description
E_INVALIDARG Invalid argument.
E_OUTOFMEMORY Insufficient memory.
E_POINTER Null pointer argument.
E_UNEXPECTED Unexpected error.
S_FALSE Fewer filters were retrieved than requested.
S_OK Success.
VFW_E_ENUM_OUT_OF_SYNC The enumerator has become invalid. For more information, see Remarks.


The calling application must use the Microsoft Win32 CoTaskMemFree function to free each REGFILTER pointer returned in the array. Do not free the Name member of the REGFILTER structure separately, because IEnumRegFilters::Next allocates memory for this string as part of the REGFILTER structure.

If the number of registered filters changes, the state of the enumerator will no longer be consistent with the state of the registry. As a result, this method will return VFW_E_ENUM_OUT_OF_SYNC. You should discard any data obtained from previous calls to the enumerator, because it might be invalid, and update the enumerator by calling the Reset method. You can then call the Next method safely.

See Also