导航

windows media service开发备忘

Posted on 2005-03-28 18:33  TANG  阅读(2851)  评论(5编辑  收藏  举报
今天又被抓去做了一个windows media service的授权插件,基本步骤记下来全作备忘:

下载完platform sdk
从media server的C:\WINDOWS\system32\windows media\server目录下面把Microsoft.WindowsMediaServices.DLL拷贝到自己的开发机器上.
建一个c#的class library项目,引用刚才的dll.
给类加上GUID的属性
授权插件的接口为:IWMSBasicPlugin和IWMSEventAuthorizationPlugin,然后打开class view,把这两个接口实现,修改IWMSEventAuthorizationPlugin接口的代码.
实现ComRegisterFunctionAttribute的register和unregister方法.

编码时注意运行media service的帐号为network service,可能会因此遇到权限不够的问题,可以通过修改运行media service的帐号或者针对特殊资源增加network service的访问权限来进行

把生成的插件dll 放到media server的C:\WINDOWS\system32\windows media\server的目录下,运行C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\RegAsm.exe进行注册

整个过程还算顺利,方案设计到编码测试也就半天时间就完成了,可是明天的任务已经派满了,后天再实施咯
有点没明白的事情:
media service management到底如何根据注册表的项目来分类插件
我只设定了SOFTWARE\\Microsoft\\Windows Media\\Server\\RegisteredPlugins\\Event Notification and Authorization\\的项目,因此插件出现在事件通知一栏里,这本来也没什么奇怪的,但是授权插件并没有自己单独的注册表项的目录,也是在Event Notification and Authorization,而且子项也没有看到同通知插件有什么区别.随便设置了一个SubCategory为Authorize的子项,也没有什么效果