最近几天在搞windows media service开发,在网上找到这篇文章,挺好,比较实用
如果刚刚开始搞wms服务器编程的可以参考一下,链接跟内容都写上
http://www.cnblogs.com/raymond_nj/archive/2005/03/28/127374.aspx
下载完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的子项,也没有什么效果