Lotus Domino/Notes Toolkits綜述(二) C API (轉)

amyz發表於2007-11-13
Lotus Domino/Notes Toolkits綜述(二) C API (轉)[@more@]

2 Lotus C


2.1 簡介


    在ino/Notes的Toolkit中,C API的功能最為強大:
  • 可以操縱notes中幾乎所有的資料
    • 資料庫及ACL
    • 文件和域
    • 表單
    • 檢視和夾
  • 可以為Notes客戶端的增加附加選單
  • 可以用來建立附加的Domino服務任務
  • 可以用來擴充套件Domino/Notes的事件管理


主要限制:
  • 不能修改已有的Domino/Notes,不能去除其已有的功能、特性,或者改變其工作機理。
  • 不能修改特性
  • 不能修改活動記錄


支援的操作:
    NT/2000, , SPARC/, , MacOS, AIX, AS/400, S/390等。

最新版本M
    R5的最新版本for R5.0.12,釋出於.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函式來完成清理工作。
樣例:
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中,提供了一些入口,可以相應這些進行處理,例如:QueryOpen,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才能完成的工作。


/Develop/Read_Article.?Id=20419">Lotus Domino/Notes Toolkits綜述(一)









來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-982118/,如需轉載,請註明出處,否則將追究法律責任。

相關文章