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

來源:互聯網
上載者:User
Lotus Domino/Notes Toolkits綜述(二) C API

作者:未知 來源:月光軟體站 加入時間:2005-2-28 月光軟體站

2 Lotus C API

2.1 簡介

    在Domino/Notes的Toolkit中,C API的功能最為強大:

  • 可以操縱notes資料庫中幾乎所有的資料對象

    • 資料庫及ACL
    • 文檔和域
    • 表單
    • 視圖和檔案夾
    • 代理
  • 可以為Notes用戶端的增加附加菜單
  • 可以用來建立附加的Domino服務任務
  • 可以用來擴充Domino/Notes的事件管理

主要限制:

  • 不能修改已有的Domino/Notes軟體,不能去除其已有的功能、特性,或者改變其工作機理。
  • 不能修改安全特性
  • 不能修改使用者活動記錄

支援的作業系統:
    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函數來完成清理工作。
範例:

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才能完成的工作。

   



全 國 萬 名 職 場 女 性,齊 聚 非 常 美 女,驚 豔 2 0 0 7  
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.