文章編號: 286408 - 上次校閱: 2008年11月19日 - 版次: 4.1

Outlook 和 Exchange 用戶端擴充功能的描述

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。
重要當 Microsoft Outlook 98 發行,且尚未更新以反映較新的資訊可能會套用至之後的版本的 Outlook,已原來撰寫白皮書,本文中。此外,提供本白皮書結尾的額外資源的清單尚未更新,而且可能已經過期。本文將不會更新以更正過時或不正確的錯誤資訊。

在此頁中

全部展開 | 全部摺疊

結論

本文包含"Microsoft Outlook 和 Exchange 用戶端延伸模組"本白皮書是先前可以使用在 MSDN 網站上的三月 1998年日期載明為文字。

其他相關資訊

簡介

Microsoft Outlook 是 Microsoft Office 首要傳訊與網際網路和 Microsoft Exchange Server 的共同作業用戶端。

Outlook 可協助使用者透過電子郵件、 電話、 群組排程及即時的 Microsoft NetMeeting 會議軟體與其他人進行通訊。它可讓其他人透過網際網路連線能力、 Microsoft Exchange 伺服器及電子表單,並為自訂的共同作業解決方案元件與共用資訊的使用者。Outlook 也整合,並組織所有這個通訊和在某一應用程式中的共用的資訊。

大幅擴充 Outlook 應用程式開發人員能力增強了其可用性。新增自訂的功能、 覆寫預設行為、 使用現有的 Outlook 功能和整合現有的 Exchange 用戶端擴充功能可讓要完全自訂的 Outlook 已經高度的潛力。

本文將會提供簡短的介紹到 [訊息應用程式發展介面 (MAPI) 和高階瞭解其包括 Microsoft Exchange Server 的案例中的角色。下列說明的 Exchange 與 Outlook 用戶端是討論用戶端擴充功能和裝載 Outlook 的 Exchange 用戶端擴充功能的相關資訊。

很有幫助,但不是一定要理解本文,是 C + + 物件導向程式設計技術、 元件物件模型 (COM) 和 Microsoft Win32 應用程式發展介面 (API) 的一個中繼層級知識。雖然 MAPI 簡介包含但是很有幫助如果您已經有一些訊息開發經驗。

要建立用戶端擴充功能,您應該徹底了解,而且可以實作 Microsoft Exchange IExchExt 擴充性介面。您應該可以存取來參考 C + + 物件導向程式設計技術、 COM 及 MAPI 的材料。若要撰寫的延伸為 Outlook,應該具有完整瞭解的 Outlook 物件模型。

背景資訊

Exchange 用戶端擴充功能的說明的開頭必須簡介 MAPI,和它與 Exchange 伺服器的互動方式。

MAPI 不只是函式,但是整個訊息子系統及其所有相互作用元件的規格的程式庫。MAPI 是設計用來實現三個原則需求:
  • 元件之間的互通性
  • 擴充性
  • 模組化
提供標準化的應用程式層級介面,允許傳訊與廣泛不相容的郵件系統進行通訊的元件建立 MAPI。簡單 MAPI 或 MAPI 版本 0,是非常有限的程式庫,僅 12 啟用 Microsoft 郵件用戶端與 Microsoft Mail 郵局通訊的 Microsoft 所撰寫的函式。延伸的 MAPI 或 MAPI 版本 1,規格 Microsoft 已撰寫它的 100 個以上的軟體廠商的共同作業,因此可讓通訊自由地與其他 MAPI 相容的系統 MAPI 相容的系統的開放規格。它將完全取代較舊的版本。

延伸的 MAPI 規格包括定義各種外部元件,它們執行的工作的描述和它們公開的介面清單。元件之間的介面並不是 API,但是 COM 介面。COM 元件繫結在一起,表單的應用程式,而且可以擴充為開發自訂應用程式副檔名。所有的 MAPI 元件使用,或實作 MAPI 物件,所有的 MAPI 物件是 COM 物件。

在所有的 Microsoft Windows 桌上型電腦上使用 MAPI。Windows 訊息處理子系統 (WMS) 是 MAPI 標準使用者介面。WMS 原先稱為在 Exchange 用戶端,但已重新命名為減輕混淆。複雜結構 MAPI 會提供許多不同架構的觀點:
  • 元件模型層級的載入為登入程序的一部分的 Mapi32.dll 全體透過彼此呼叫的元件所組成。此中繼層做為用戶端應用程式、 服務提供者和 MAPI 本身之間的仲介。
  • 處理序模型檢查 MAPI 做為集合的處理程序在桌面上。
  • 物件模型是 MAPI 提供給用戶端從系統 COM 程式庫藉由存取根工作階段物件取得的存取權其餘的物件模型,藉此物件的階層架構。
Microsoft Exchange Server embraces 網際網路標準,MAPI 服務提供者。它使用 MAPI 通知註冊事件,並包含三種類型的服務: 郵件傳輸、 郵件儲存區和通訊錄或通訊清單。系統上偵測到新郵件時,傳輸提供者會警示 MAPI 多工緩衝處理程式,處理的訊息,並將它複製到預設郵件儲存區。通訊錄自由地提供用戶端存取目錄資訊--可能是單一使用者的已知收件者清單或通訊群組清單。

當 Microsoft Exchange 伺服器會傳送訊息時,它依賴 MAPI 子系統來引導至一個或多個傳輸服務提供者的用戶端要求。Microsoft Windows 動態連結程式庫 (DLL) 做為驅動程式針對每一個傳輸提供者。它們也提供 MAPI 多工緩衝處理程式與基礎的郵件系統或服務之間介面。

Exchange 伺服器會繼續支援的網路通訊協定 (例如 RPC,IMAP4、 POP3、 NNTP、 HTTP,以及等等),最寬的可能陣列,但它仍會繼續進行以支援 MAPI 作為程式設計介面。

什麼是 Exchange 用戶端?

Microsoft Exchange 戶端隨附 Microsoft Exchange Server 版本 5.0,透過 4.0 版是採用了 Microsoft Exchange Server 作為其服務提供者的應用程式 (Exchng32.exe)。它提供了一個使用者介面,以瀏覽和操作通用的 [收件匣] 提供一種方法。有是中左邊的窗格和在右窗格中的資料夾內容清單的資料夾階層資料表,而。Exchange 用戶端提供使用者有機會來要求這些資料表的不同檢視、 建立和傳送訊息,及使用許多其他功能。在它的功能有限,但因為它已設計的彈性和擴充性,允許開發人員建置更精確地反映出他們的使用者需求的系統。

Exchange 用戶端,所支援,但並不是隨附於 Microsoft Exchange Server 5.5。程式碼基底的未來變更會限制成客戶要求、 快速修正程式工程的修改,會影響使用、 互通性,及/或部署的問題。

什麼是 Outlook 用戶端?

Outlook 是完全最佳化 Microsoft Exchange Server 5.0 及更新版本的用戶端。發行版本的 Microsoft Exchange Server 和包含在 Microsoft Office 97 5.0,Outlook 97 結合了電子郵件、 行事曆和排程連絡人的功能以及工作管理 journalizing,及自訂表單為基礎的應用程式在單一介面。Outlook 98 還包括完整、 原生支援主要網際網路郵件、 新聞和等 IMAP4]、 [LDAP]、 [HTML]、 [NNTP]、 [MIME,] 及 [S/MIME [目錄] 標準和也支援這些網際網路行事曆和連絡人標準: vCard、 vCalendar 和 iCalendar 空閒-忙碌查閱。Outlook 被設計用於網際網路通訊協定 (SMTP/POP3 和 IMAP4)、 Microsoft Exchange Server 或其他支援包括語音信箱的 MAPI 的標準為基礎的通訊系統。

Outlook 可讓其他 Microsoft Office 應用程式完整存取其資料。其物件程式庫您可以啟用存取由其他應用程式到 Outlook 電子郵件、 約會、 工作、 日誌項目及備忘稿。Outlook 物件程式庫因為與 Microsoft Office 產品家族其整合的允許以程式設計方式存取 Office 命令列] 和 [Office 小幫手。物件程式庫支援的使用者介面和資料分隔 ; 根應用程式物件可讓您使用單一行程式碼建立新的郵件訊息。在 Microsoft Visual Basic 指令碼版 (VBScript),例如:
Set newItem = Application.CreateItem(0)
				
[應用程式物件也是主要進入點到其餘的資料存放區。您可以使用 MAPI 具名區物件,存取儲存在 Exchange Server 電腦上的所有資訊。

您可以使用 Visual Basic 的應用程式 (VBA) 的子集的 VBScript 來擴充 Outlook 表單功能。Outlook 不會裝載 VBA。

您可以使用 「 自動化 」 的 Outlook 物件來存取資訊儲存庫。您撰寫 Visual Basic 或 Visual Basic Visual]、 [Microsoft Excel]、 [Microsoft Access]、 [Microsoft Word] 或 [Microsoft PowerPoint 中的應用程式程式碼。

Outlook 是擴充性和協力廠商解決方案的平台,可讓企業研發人員、 解決方案提供者與協力廠商軟體開發人員建置擴充 Outlook 功能的附加元件應用程式。Outlook 是首要的電子郵件用戶端,Microsoft Office 和升級到 Microsoft Exchange 用戶端 」 及 「 Schedule +。

Outlook 98 建置 Outlook 97 的角色,為完全最佳化的依賴的 Microsoft Exchange Server 和其群組行事曆及共同作業功能,其商務關鍵的內部網路的可擴充及進階電子郵件功能的公司快速成長數目的用戶端上。Outlook 98 相互操作與 Outlook 97 及較早版本的 Microsoft 郵件]、 [Microsoft Exchange 用戶端] 或 [Schedule +,而不需要是 Microsoft Exchange 伺服器升級。

什麼是 Exchange 用戶端擴充功能?

Exchange 用戶端副檔名是一個元件物件實作 Exchange IExchExt 介面和符合與 Microsoft Windows 元件物件模型。這個介面會定義在 Win32 軟體開發套件 (SDK) 標頭檔 Exchext.h,並且可以讓用戶端載入所有的內容中的擴充物件。用戶端載入物件伺服器,並再建立用戶端的每個可延伸內容之擴充物件的執行個體。搜尋 MSDN 程式庫平台 SDK 文件以取得詳細的資訊,有關介面內容中的標題 「 關於用戶端延伸模組"。

用戶端擴充功能會建立以利用用戶端的現有的能力。會使用這些固有的能力,並由延伸加入自訂介面。而非開發全新的使用者介面和訊息服務,延伸會展開,並且利用現有的功能。

與標準的 COM 同處理序伺服器的 Exchange 用戶端延伸,是,因為它不具有一個 CLSID 識別其類別並不會登錄在系統登錄的
HKEY_CLASSES_ROOT
機碼下其伺服器不同的。改,擴充類別識別本身具有做來標記登錄機碼
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Exchange\Client\Extensions
下的其登錄字串的可列印字串。擴充伺服器匯出傳回擴充物件的新執行個體的進入點。視需要,用戶端查詢其他介面離這個物件。

有的擴充程式的四個主要類型:
  • 擴充命令是最常見的擴充介面。它們可以取代現有的行為或新增至用戶端的功能表和工具列的新命令使用 IExchExtCommands 介面。可以用指令副檔名為實作自訂的拼字工具、 文字格式設定工具、 公用資料夾] 命令或郵件類別] 指令。
  • 事件擴充使用 IExchExt 事件介面來叫用自訂的行為,以處理事件,例如的新郵件送達 ; 撰寫的讀取及傳送訊息 ; 讀取和寫入附加檔案,與一個視窗中選取範圍變更。藉由覆寫特定事件相關聯的行為,可以無障礙地掃描郵件附件有病毒,或壓縮和解壓縮事件延伸的郵件。
  • 屬性工作表延伸使用 IExchExtPropertySheets 介面,可讓定義用戶端屬性工作表上的其他頁面的延伸。這可讓使用者或系統管理員若要檢視或編輯自訂的訊息屬性。如果您的應用程式提供自訂表單的自訂屬性,您可以顯示屬性工作表副檔名為那些屬性。
  • 進階的篩選條件擴充功能是最常見的擴充介面。您可以利用 IExchExtAdvancedCriteria 介面來實作搜尋的資訊儲存庫中的項目時要使用您自己自訂進階的篩選條件] 對話方塊。您可以顯示一個自訂進階的篩選條件] 對話方塊,讓使用者指定自訂屬性的搜尋準則為進階的篩選條件的檔案。

如何製作 Exchange 用戶端延伸在 Outlook 中工作

雖然 Outlook 會辨識、 載入,並執行 Microsoft Exchange 用戶端擴充功能的規格來擴充功能,以符合,存在改善效能的方法,並且建立新增的功能。

用戶端延伸登錄項目是一系列的分號 (;) 所組成的字串值-分隔的欄位。項目是以區別此項目從其他登錄機碼之下的值的唯一的標記名稱識別。項目是由六個欄位所組成。前兩個所需,並識別版本號碼的登錄項目但副檔名為 DLL 的路徑。接下來四個欄位是選擇性識別序數的進入點、 內容地圖、 介面對應和伴隨的用戶端延伸一個服務提供者的服務名稱。如果這些四個欄位是空的用戶端會提供合適的預設值為空的每個欄位。

用戶端擴充功能匯出其名稱和在其登錄項目中的進入點
HKEY_LOCAL_MACHINE\Software\Microsoft\Exchange\Client\Extensions
在此機碼內每個字串值構成副檔名為單一用戶端。當用戶端啟動時, 它會讀取索引鍵尋找用戶端可使用的所有延伸的內容。

它啟動,並載入在此機碼中有一個項目每個副檔名時,預設值,Exchange 用戶端會讀取擴充的登錄機碼。載入每個延伸程式庫之後, 用戶端建立擴充功能物件從每一個它遇到的每一個擴充性內容這些程式庫除非延伸程式庫已指定其內容對應未處理特定的內容。

Outlook 與 Exchange 用戶端會使用相同的設定檔和其他組態資訊,而且可以使用所有 Microsoft Exchange 用戶端擴充功能和自訂表單。Outlook 會辨識、 載入,和擴充功能,以符合執行 Microsoft Exchange 用戶端擴充功能的規格時, 可以改善執行的延伸效能,而且藉由提供延伸模組設定檔案 (ECF) 增加它的功能,在 [Outlook。使用一個 ECF,Outlook 知道超前時間延伸需要載入,哪些命令副檔名促成,擴充功能套用到 [Outlook 模組內容等。這可讓 Outlook ?延遲載入擴充功能,直到需要它。

沒有一個 ECF 延伸登錄本身只在登錄中。在登錄] 項目延伸可以指定的資訊僅限於 DLL]、 [進入點]、 [二進位內容對應]、 [二進位的介面對應] 及 [如果有的話) 的提供者。一個 ECF 但是,允許副檔名為註冊本身更完整且詳細資料。如果一個 ECF 載入的延伸,並不會使用為擴充功能的登錄項目。因此,[ECF 必須包含擴充功能的完整的說明。[ECF 提供使用標準的 INI 檔案格式的文字資訊。沒有只有一個 ECF 每個副檔名和每 ECF 只能有一個副檔名。如撰寫一個 ECF 相關的詳細資訊,"Outlook 延伸模組設定檔案文件,」 主題,請在搜尋 MSDN] 程式庫 Microsoft Office 程式開發文件。

Outlook 用戶端會讀取登錄資訊一次的延伸和效能的理由,轉移它到內部快取。這個內部快取是個 extend.dat 檔位於 Windows 目錄中。Outlook 會使用 extend.dat 檔來記錄載入至 Outlook 的所有副檔名為 DLL 的路徑。

第一次開始一個 Outlook 工作階段或安裝的延伸後任何時候解除安裝,或升級,Extend.dat 將改寫以新的 DLL 路徑。已刪除的擴充功能不會再將 Extend.dat 檔案中有項目。如果不想要的擴充程式已經載入到 Outlook,您必須手動移除它們使用 [增益功能管理員]。在 Outlook 97 增益功能管理員是可以從 [工具] 功能表存取按一下 [選項],選取 [一般] 索引標籤,然後按一下 [增益功能管理員。向將延伸只是下捲動,直到您找出擴充功能、 清除其名稱旁邊的核取方塊、 按一下 [移除,並按一下 [確定]。在 Outlook 98 增益功能管理員由 clinking 選項,然後選取 [其他] 索引標籤、 按一下 [進階選項 上,,選取 [增益功能管理員 從 [工具] 功能表存取。

Exchange 用戶端並沒有一個 Extend.dat] 檔案也的確有一個使用 ECFs 的增益集管理員。

附註兩個用戶端之間主要差異之一是 Outlook 不會啟用存取產品的使用者介面的延伸模組的事實,也就是,來直接操作 HWNDs。如果 Exchange 用戶端延伸操縱視窗控制代碼在 Exchange Server,則可能是此擴充功能將無法正常運作在 Outlook 中。

安裝擴充功能的方法在 Exchange 中不同伺服器與 Outlook 的。在 [Exchange 伺服器,您只需新增新登錄項目對延伸模組中:
HKEY_LOCAL_MACHINE\Software\Microsoft\Exchange\Client\Extensions
在 Outlook,除了傳統的登錄項目之副檔名您必須新增一個項目稱為 Outlook 安裝擴充 (不做將當地語系化這個字串)。 值必須是:
4.0;Outxxx.dll;7;000000000000000;0000000000;OutXXX
					
它必須在:
HKEY_LOCAL_MACHINE\Software\Microsoft\Exchange\Client\Extensions
這個項目信號 Outlook 新的擴充功能已被加入或移除。Outlook 會移除此項目在下次啟動時。

附註在 Windows Vista Outlook 將無法刪除這個機碼,一般使用者帳戶下執行。因此,安裝 Exchange 用戶端延伸模組時您應該檢查機碼存在:
HKEY_CURRENT_USER\Software\Microsoft\Office\<version>\Outlook\Exchange Client Extension
然後刪除它。如果此機碼存在,Outlook 將不會載入您的擴充功能。

如何存取 Outlook 物件模型

如果想存取 Outlook 物件模型從內延伸 Microsoft 發佈的介面稱為 IOutlookExtCallback 為此目的。下列程式碼是標頭檔:
#ifndef _OUTLOOK_H
#define _OUTLOOK_H

#if defined(WIN32) && !defined(MAC)

#ifndef __IOutlookExtCallback_FWD_DEFINED__
#define __IOutlookExtCallback_FWD_DEFINED__
typedef interface IOutlookExtCallback IOutlookExtCallback;
#endif /* __IOutlookExtCallback_FWD_DEFINED__ */ 

// Outlook defines this interface as an alternate to IExchExtCallback.
#ifndef __IOutlookExtCallback_INTERFACE_DEFINED__
#define __IOutlookExtCallback_INTERFACE_DEFINED__

EXTERN_C const IID IID_IOutlookExtCallback;

interface DECLSPEC_UUID("0006720D-0000-0000-C000-000000000046")
IOutlookExtCallback : public IUnknown
{
public:
   virtual HRESULT STDMETHODCALLTYPE GetObject(
      /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *ppunk) = 0;
   virtual HRESULT STDMETHODCALLTYPE GetOfficeCharacter(
      /* [out] */ void __RPC_FAR *__RPC_FAR *ppmsotfc) = 0;
};

DEFINE_GUID(IID_IOutlookExtCallback,
0x0006720d,
0x0000,
0x0000,
0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46);

#endif /* __IOutlookExtCallback_INTERFACE_DEFINED__ */ 
#endif // defined(WIN32) && !defined(MAC)
#endif // _OUTLOOK_H
				
對延伸模組的該標頭] 檔案中必須包含下列程式碼:
#ifndef __IOutlookExtCallback_INTERFACE_DEFINED__
#define __IOutlookExtCallback_INTERFACE_DEFINED__

EXTERN_C const IID IID_IOutlookExtCallback;

interface DECLSPEC_UUID("0006720D-0000-0000-C000-000000000046")
IOutlookExtCallback : public IUnknown
{
public:
   virtual HRESULT STDMETHODCALLTYPE GetObject(
      /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *ppunk) = 0;
   virtual HRESULT STDMETHODCALLTYPE GetOfficeCharacter(
      /* [out] */ void __RPC_FAR *__RPC_FAR *ppmsotfc) = 0;
};

#endif /* __IOutlookExtCallback_INTERFACE_DEFINED__ */ 
				
下列程式碼片段會取得目前內容的存取權的 IDispatch:
void GetRenDispatch(
   IExchExtCallback *lpeecb,
   IOutlookExtCallback **pprGetObj,
   IDispatch **ppdisp)
{
   IUnknown punk;

   lpeecb->QueryInterface(IID_IOutlookExtCallback,
      (void **) pprGetObj);

// If you are running Outlook, then prGetObj will not be NULL.
   if (*pprGetObj != NULL)
   {
      (*pprGetObj)->GetObject(&punk);
      if (punk != NULL)
      {
         punk->QueryInterface(IID_IDispatch, (void **) ppdisp);
      }
   }

   if ( punk != NULL )
      punk->Release();
}
				
這個函數會傳回兩個指標 [IOutlookExtCallback 指標和指標到 IDispatch。第一個會傳回,以防使用者想要執行其他功能。Microsoft 提供僅 GetOfficeCharacter 函式。如果此函式會傳回 NULL ppdisp,副檔名不在 Outlook 中執行。這是可接受的方法的判斷是否正在執行延伸用戶端的確是 Outlook 和 Exchange 用戶端。呼叫端會負責釋放傳回的指標。

建議您閱讀

學習有關 Outlook 物件模型的最佳資源是 Microsoft Outlook Visual Basic 參考。這個說明檔會可用,如部分的開發工具新增-在的也包含的 Outlook 物件瀏覽器和指令碼偵錯工具。

也看看下列:
  • 主題 「 關於用戶端延伸,"在 MSDN Library 平台 SDK 文件。
  • "自動化和擴充 Microsoft Outlook,"可用的文件:
    http://www.microsoft.com/technet/archive/exchangeserver55/maintain/automate.mspx (http://www.microsoft.com/technet/archive/exchangeserver55/maintain/automate.mspx)
  • 「 主題 」 Outlook 延伸模組設定檔案文件,"在 MSDN Library Microsoft Office 程式開發文件中。
  • 與新版 Microsoft Outlook 98 建置應用程式。Krebs 為 Peter。1998 Microsoft 按。ISBN: 1-57231-718-3。
  • 開發與 C + + 的 Microsoft Exchange 的應用程式。Goetter 為 Ben。1996 Microsoft 按。ISBN: 1-57231-500-8。
  • 內部 COM。 Rogerson,Dale E.Microsoft 按 1997年。ISBN: 1-57231-349-8。
  • 內部 MAPI。解除拉伊、 Irving 和 Thaler les。1996 Microsoft 按。ISBN: 1-57231 312 9。
  • Win32 程式設計。newcomer、 約瑟夫奕和 Rector Brent。Addison Wesley c1997。數列: 的進階的 Windows 系列。ISBN: 0-20163 492 9。
附註可從 Microsoft 按下的所有書籍可以從 Microsoft 按網站,在都訂購:
http://mspress.microsoft.com/ (http://mspress.microsoft.com/)

這篇文章中的資訊適用於:
  • Microsoft Office Outlook 2003
  • Microsoft Outlook 2002 Standard Edition
  • Microsoft Outlook 2000
  • Microsoft Outlook 98 Standard Edition
  • Microsoft Outlook 97 Standard Edition
關鍵字:?
kbmt kbemail kbexchange kbprogramming kbdswnet2003swept kbinfo KB286408 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:286408? (http://support.microsoft.com/kb/286408/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。