IEnumRegFilters::Next 方法 (strmif.h)
[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayer、 IMFMediaEngine 和 音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
注意IEnumRegFilters 接口已弃用。
语法
HRESULT Next(
[in] ULONG cFilters,
[out] REGFILTER **apRegFilter,
[out] ULONG *pcFetched
);
参数
[in] cFilters
筛选器数。
[out] apRegFilter
指向 REGFILTER 指针数组的指针的地址。
[out] pcFetched
指向实际传递的筛选器数的指针。
返回值
返回以下 HRESULT 值之一。
返回代码 | 说明 |
---|---|
|
无效的参数。 |
|
内存不足。 |
|
NULL 指针参数。 |
|
意外错误。 |
|
检索的筛选器数少于请求的筛选器数。 |
|
成功。 |
|
枚举器已无效。 有关详细信息,请参阅“备注”。 |
注解
调用应用程序必须使用 Microsoft Win32 CoTaskMemFree 函数释放数组中返回的每个 REGFILTER 指针。 请勿单独释放 REGFILTER 结构的 Name 成员,因为IEnumRegFilters::Next
会将此字符串的内存作为 REGFILTER 结构的一部分进行分配。
如果已注册的筛选器数发生更改,枚举器的状态将不再与注册表的状态一致。 因此,此方法将返回VFW_E_ENUM_OUT_OF_SYNC。 应放弃从之前调用枚举器中获得的任何数据,因为它可能无效,并通过调用 Reset 方法更新枚举器。 然后,可以安全地调用 Next
方法。
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | strmif.h (包括 Dshow.h) |