注册 KS 代理插件
接口和属性页插件都必须将 KS 代理注册为 KS 代理扩展的提供程序。
若要注册插件,请在实现 COM 对象的 DLL 中导出名为 DllRegisterServer 和 DllUnregisterServer 的函数。 这些函数在 Olectl.h 中声明,但用户定义。
可以将属性集的 GUID 重用为组件的 CLSID 和组件支持的接口的 IID。
DllRegisterServer 的实现应执行以下操作:
调用值为 TRUE 的 AMovieDllRegisterServer2 以注册筛选器。
调用 RegCreateKeyEx 以创建并接收 HKLM\System\CurrentControlSet\Control\MediaInterfaces 密钥的句柄。
使用 RegSetValueEx 在 HKLM\System\CurrentControlSet\Control\MediaInterfaces 键下设置一个值,该键将属性集映射到接口处理程序。 有关接口处理程序的详细信息,请参阅 接口处理程序插件。
由于项不是预定义的注册表项之一,因此调用 RegCloseKey 以关闭键的句柄。
调用 RegCreateKeyEx。
使用 RegSetValueEx 在 HKLM\System\CurrentControlSet\Control\MediaSets\ 键下设置一个值,用于将属性集映射到属性页。 有关属性页插件的详细信息,请参阅 属性页插件。
由于项不是预定义的注册表项之一,因此调用 RegCloseKey 以关闭键的句柄。
DllUnregisterServer 的实现应执行以下操作:
调用值为 FALSE 的 AMovieDllRegisterServer2 以注销筛选器。
调用 RegCreateKeyEx 打开现有密钥。
使用 RegDeleteKey 删除子项。
调用 RegCloseKey 以关闭键的句柄。