Windows群集开发-编写微软群集服务器(MSCS)资源DLL:8)编写好的资源DLL的诫条
来源:互联网 发布:tensorflow 0.11 whl 编辑:程序博客网 时间:2024/05/16 12:09
编写好的资源DLL的诫条
只要仔细注意几条规则和指引,编写好的资源DLL其实相当简单。大部分上文已经讨论过。本节是对编写资源DLL要牢记的关键事情的总结。
- 使用Visual C++ 4.2b或以上(确保从www.microsoft.com安装了最新更新)和平台SDK来编写资源DLL和群集管理扩展DLL。高度整合的开发环境使得工作相当轻松。同样地,使用Visual C++调试器或WinDbg来调试DLL。
- 在资源DLL的Startup例程中初始化全局数据,在Open中初始化资源特定的数据。
- 在资源DLL中,确保使用分离的线程来执行耗时比较长的操作,比如打开资源,联机,脱机,等等。分离线程的创建使与资源监视器(以及其上的群集服务)的通信流程更加高效。假如,举例来说,资源要花费超过300毫秒的时间来联机,派生一个分离的线程来完成这个操作,可以使得入口能够立即返回。
- 如果不想让资源DLL被群集服务的状态查询打断,返回一个事件句柄以通知群集服务不要调用LooksAlive。然后,使用该事件句柄向群集服务发送状态信息。
- 在任何可能的情况下使用回调函数。回调函数允许资源DLL和资源监视器进行异步通信。典型情况下,一般资源DLL使用LogEvent和SetResourceStatus函数向群集服务记录资源事件日志和进行调试。调用 SetResourceStatus向资源监视器发送状态信息。
- 如果要求群集事件、节点事件、组状态改变、群集数据库改变或更新事件通知到资源,创建一个群集通知端口(使用CreateClusterNotifyPort)来处理事件通知。注意,如果在多线程中使用通知端口,要小心竞争条件。例如,一个线程可能调用CloseClusterNotifyPort关闭通知商品,而另一个线程则调用了GetClusterNotify,正等待着从同一端口获取信息。要防止这种情况,可以在调用GetClusternotify的线程加入对CLUSTER_CHANGE_HANDLE_CLOSE的检查。关于更多关于事件通知和产生通知的事件,请参考平台SDK。
- 支持CLUSCTL_RESOURCE_GET_PRIVATE_PROPERTIES控制功能以便于诸如Cluster.Exe之类的管理工具能够设置那些仍没有被设置的属性。
- 支持CLUSCTL_RESOURCE_VALIDATE_PRIVATE_PROPERTIES和CLUSCTL_RESOURCE_SET_PRIVATE_PROPERTIES控制功能以便于资源DLL能够在属性被存储之前进行校验。
- 支持CLUSCTL_RESOURCE_TYPE_GET_PRIVATE_PROPERTIES、CLUSCTL_RESOURCE_TYPE_VALIDATE_PRIVATE_PROPERTIES以及CLUSCTL_RESOURCE_TYPE_SET_PRIVATE_PROPERTIES控制功能,如果资源类型具有私有属性。
- 支持CLUSCTL_RESOURCE_GET_REQUIRED_DEPENDENCIES和CLUSCTL_RESOURCE_TYPE_GET_REQUIRED_DEPENDENCIES控制功能,如果资源需要依赖于另一资源。
- 如果可能,应该在在Open函数中读取属性。如果不可能,则应该在Online函数中读取。
- Windows群集开发-编写微软群集服务器(MSCS)资源DLL:8)编写好的资源DLL的诫条
- Windows群集开发-编写微软群集服务器(MSCS)资源DLL:6)编写资源DLL
- Windows群集开发-编写微软群集服务器(MSCS)资源DLL:3)微软群集服务器架构
- Windows群集开发-编写微软群集服务器(MSCS)资源DLL:4)资源和资源DLL
- Windows群集开发-编写微软群集服务器(MSCS)资源DLL:7)调试资源DLL
- Windows群集开发-编写微软群集服务器(MSCS)资源DLL:5)创建群集可感知应用
- Windows群集开发-编写微软群集服务器(MSCS)资源DLL:1)目录
- Windows群集开发-编写微软群集服务器(MSCS)资源DLL:2)介绍
- Windows群集开发-编写微软群集服务器(MSCS)资源DLL:9)线索和更多信息
- 纯资源DLL的编写
- 纯资源DLL的编写
- 纯资源DLL的编写
- 纯资源的DLL的编写概要
- 纯资源DLL的编写[转]
- 编写纯资源Dll
- MSCS群集
- 编写、引用资源DLL步骤
- windows下DLL的编写
- web dynpro for abap基础知识(2)
- query user
- 这些不良饮食习惯危害健康
- WindowsMobile 仿真模拟器上网设置
- SQL select的from 子句
- Windows群集开发-编写微软群集服务器(MSCS)资源DLL:8)编写好的资源DLL的诫条
- 核心网络设备配置及参数如何备份
- web dynpro for abap基础知识(3)(转)
- Windows群集开发-编写微软群集服务器(MSCS)资源DLL:9)线索和更多信息
- uC/OS-II的任务调度与时钟
- JPA中关系印射注意事项
- RedFlag linux 6 SP! No Screens Found问题解决方法
- web dynpro for abap基础知识(4)(转)
- 内网渗透---获取管理员密码 几种方式