ICodecAPI::RegisterForEvent 方法 (icodecapi.h)
RegisterForEvent 方法注册应用程序以从编解码器接收事件。
语法
HRESULT RegisterForEvent(
[in] const GUID *Api,
[out] LONG_PTR userData
);
参数
[in] Api
指向指定事件的 GUID 的指针。 事件分为三类:
值 | 含义 |
---|---|
|
编解码器在编解码器的属性发生更改时通知应用程序。 事件数据是更改的属性的 GUID 列表。 |
|
当指定的属性发生更改时,编解码器会通知应用程序。 通常,编解码器将为有限的一组属性(如果有)支持这种类型的通知。 |
|
依赖于实现。 |
[out] userData
指向调用方定义数据的指针。 应用程序在 lParam1 事件参数中接收此指针。
返回值
此方法可以返回其中一个值。
返回代码 | 说明 |
---|---|
|
方法成功。 |
|
未实现。 编解码器不支持事件通知,或者不支持 Api 参数中指定的事件 GUID。 |
注解
每当编码器编解码器发送事件时,应用程序都会收到 EC_CODECAPI_EVENT 事件通知。 若要获取事件,请使用 IMediaEventEx 接口。
事件的 lParam2 参数是指向 CodecAPIEventData 结构的指针。 此结构后跟其他数据,具体取决于事件 GUID。 此数据的大小由 dataLength 成员提供。
GUID | 事件数据 |
---|---|
CODECAPI_CHANGELISTS | GUID 数组。 每个 GUID 指定其当前值或有效范围已更改的编解码器属性。 数组的大小为 dataLength / sizeof(GUID) 。 |
codecapi.h 中定义的属性 GUID。 | 无。 |
专有事件 GUID。 | 依赖于实现。 |
如果编解码器不支持指定的事件,该方法将返回 E_NOTIMPL。 编解码器可能支持其他事件。
若要禁用事件的通知,请调用 ICodecAPI::UnregisterForEvent。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 10内部版本 20348 |
最低受支持的服务器 | Windows 10内部版本 20348 |
标头 | icodecapi.h |