Lotus Domino/Notes Toolkits综述(二) C API (转)[@more@]
在 domino/Notes的Toolkit中,C API的功能最为强大:
主要限制:
支持的操作系统:
windowsNT/2000, Linux, Solaris SPARC/ intel, HP-UX, MacOS, AIX, AS/400, S/390等。
最新版本M
R5的最新版本for R5.0.12,发布于 2003.03.13 R6的最新版本 for 6.0.1,发布于2003.2.24
使用条件
Lotus C API需要notes.ini,并会 调用Domino/Notes已有的 程序,因此,需要 安装Domino Server或Notes Client。
用户身份
使用Lotus C API的独立应用将根据notes.ini中的信息来得到当前用户的信息,根据相应的ID文件来验证用户身份。在Domino 服务器上程序将使用服务器ID。
Domino/Notes运行环境初始化
在调用C API之前,需要初始化Domino运行环境,并且在程序关闭之前清理环境。Lotus C API提供了多种方式来完成这项工作。
如果遵循C API的某些标准,Domino/Notes能自动进行初始化和清理的工作,也可以调用NotesInitExtended 函数来完成初始化,调用NotesTerm函数来完成清理工作。
样例:
Structure of main Structure of NotesMain main(){
NotesInitExtended();
…
…body of the program
…
NotesTerm();
exit;
} STATUS LNPUBLIC NotesMain(){
…
… body of the program
… } 显式进行运行环境的初始化和清理自动完成
Notes客户端扩展
利用C API可以为Notes客户端添加附加的菜单,为此需要在notes.ini中添加相应的条目,例如:
AddInMenus =uiaddin1.dll
相应的dll需要遵循API的标准。Notes客户端在启动时,会根据 配置文件和dll的入口函数进行一些初始化。利用这一特性,可以自动完成用户登录和身份验证处理。
扩展事件管理
在Domino/Notes中,对各类数据对象的操作会触发各种事件,例如,文档被打开、文档被关闭、数据库被创建、数据库被删除等等。在Notes Designer中,提供了一些入口,可以相应这些进行处理,例如: webQueryOpen,WebQuerySave等等。
利用Lotus C API能大大扩展对这些事件的处理能力,可以在Domino/Notes系统处理这些事件之前和之后,进行额外的处理,例如活动日志、数据有效性检查、用户身份 认证、 加密界面等数据处理等。DSAPI就是一个很好的例子。为了实现这些例子,需要在代码实现上遵循API的规范,并在notes.ini中进行配置,例如:
EXTMGR_ADDINS=mymngr1.dll,mymngr2.dll
总之,Lotus C API的提供了多种手段来操纵Notes数据对象,并可以利用它来扩展Notes客户端的功能,扩展Notes事件的处理,功能非常强大。同时,由于C语言本身的特性,其 效率很高,但编码实现的难度也最高。因此,适合于对数据处理效率要求很高,或者是只有C API才能完成的工作。
.NET/Develop/Read_Article. ASP?Id=20419">Lotus Domino/Notes Toolkits综述(一)
Lotus Domino/Notes Toolkits综述(二) C API
Lotus Domino/Notes Toolkits综述(三) C++ API
Lotus Domino/Notes Toolkits综述(四) Java
Lotus Domino/Notes Toolkits综述(五) LDDJ
Lotus Domino/Notes Toolkits综述(六) 其他
Lotus Domino/Notes Toolkits综述(七) 分析比较
Lotus Domino/Notes Toolkits综述(八) 分析比较 续
Lotus Domino/Notes Toolkits综述(九) 小结
2 Lotus C api
2.1 简介
在 domino/Notes的Toolkit中,C API的功能最为强大:
主要限制:
支持的操作系统:
windowsNT/2000, Linux, Solaris SPARC/ intel, HP-UX, MacOS, AIX, AS/400, S/390等。
最新版本M
R5的最新版本for R5.0.12,发布于 2003.03.13 R6的最新版本 for 6.0.1,发布于2003.2.24
2.2 开发和使用
使用条件
Lotus C API需要notes.ini,并会 调用Domino/Notes已有的 程序,因此,需要 安装Domino Server或Notes Client。
用户身份
使用Lotus C API的独立应用将根据notes.ini中的信息来得到当前用户的信息,根据相应的ID文件来验证用户身份。在Domino 服务器上程序将使用服务器ID。
Domino/Notes运行环境初始化
在调用C API之前,需要初始化Domino运行环境,并且在程序关闭之前清理环境。Lotus C API提供了多种方式来完成这项工作。
如果遵循C API的某些标准,Domino/Notes能自动进行初始化和清理的工作,也可以调用NotesInitExtended 函数来完成初始化,调用NotesTerm函数来完成清理工作。
样例:
NotesInitExtended();
…
…body of the program
…
NotesTerm();
exit;
} STATUS LNPUBLIC NotesMain(){
…
… body of the program
… } 显式进行运行环境的初始化和清理自动完成
Notes客户端扩展
利用C API可以为Notes客户端添加附加的菜单,为此需要在notes.ini中添加相应的条目,例如:
AddInMenus =uiaddin1.dll
相应的dll需要遵循API的标准。Notes客户端在启动时,会根据 配置文件和dll的入口函数进行一些初始化。利用这一特性,可以自动完成用户登录和身份验证处理。
扩展事件管理
在Domino/Notes中,对各类数据对象的操作会触发各种事件,例如,文档被打开、文档被关闭、数据库被创建、数据库被删除等等。在Notes Designer中,提供了一些入口,可以相应这些进行处理,例如: webQueryOpen,WebQuerySave等等。
利用Lotus C API能大大扩展对这些事件的处理能力,可以在Domino/Notes系统处理这些事件之前和之后,进行额外的处理,例如活动日志、数据有效性检查、用户身份 认证、 加密界面等数据处理等。DSAPI就是一个很好的例子。为了实现这些例子,需要在代码实现上遵循API的规范,并在notes.ini中进行配置,例如:
EXTMGR_ADDINS=mymngr1.dll,mymngr2.dll
总之,Lotus C API的提供了多种手段来操纵Notes数据对象,并可以利用它来扩展Notes客户端的功能,扩展Notes事件的处理,功能非常强大。同时,由于C语言本身的特性,其 效率很高,但编码实现的难度也最高。因此,适合于对数据处理效率要求很高,或者是只有C API才能完成的工作。
.NET/Develop/Read_Article. ASP?Id=20419">Lotus Domino/Notes Toolkits综述(一)
Lotus Domino/Notes Toolkits综述(二) C API
Lotus Domino/Notes Toolkits综述(三) C++ API
Lotus Domino/Notes Toolkits综述(四) Java
Lotus Domino/Notes Toolkits综述(五) LDDJ
Lotus Domino/Notes Toolkits综述(六) 其他
Lotus Domino/Notes Toolkits综述(七) 分析比较
Lotus Domino/Notes Toolkits综述(八) 分析比较 续
Lotus Domino/Notes Toolkits综述(九) 小结
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-960699/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10752043/viewspace-960699/