用戶端傳訊開發支援方針

文章翻譯 文章翻譯
文章編號: 266353 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

簡介

本文將告訴您,什麼受支援,以及什麼不支援開發與 Microsoft 架構傳訊產品或 Microsoft 技術整合的自訂解決方案時。這份文件也包含了大部分的金鑰資訊要注意您使用 Microsoft 產品與 Microsoft 技術的開發時。不過,本文並未涵蓋所有案例。 若有任何關於特定方案是否被支援的問題,請連絡 Microsoft 客戶支援服務。

本文也將告訴您特定技術和特定的案例,以提供指引給開發人員。

其他相關資訊

「 支援 」 一詞用來描述是否 Microsoft 客戶支援服務或 Microsoft 服務可以協助您當您嘗試以特定方式達成的東西。通常,一詞也用於內容是否 Microsoft 產品群組可能會修正特定案例的問題。

因為的產品、 技術及需要測試的版本的大型矩陣,我們無法說所有案例已經設計或進行測試。因此,我們鼓勵您使用下列最佳實務,當您設計自訂的解決方案:
  • 只使用由 Microsoft 所記載的 API。這可以避免增加一起與較新版本的產品或產品的 Service Pack,您的方案將無法運作的風險。比方說您可以使用 Microsoft Win32 API 來操作 Microsoft Office Outlook 視窗。不過,Win32 API 不支援。有些方案可能支援您所使用的特定 API 的內容中。但是,這些解決方案通常並不支援內容中的 Office 應用程式,並使用該應用程式建立自訂解決方案時。例外狀況會由 Microsoft 將被記載的案例。
  • 避免混用較新的技術和較舊的技術如果執行這項操作。混用較新的技術和較舊的技術增加可能性所不測試案例與案例不支援。
  • 當您使用 Office 應用程式時,請使用舊版本的執行方案的 Office 開發此方案。

整合與 Outlook 屬性

Outlook]、 [Microsoft Exchange Server] 及 [等以個人資料夾 (.pst) 檔案中 MAPI 資料儲存其他 Microsoft 產品存放區 Exchange 信箱儲存區或 Exchange 公用資料夾儲存區。雖然有些資料是看得見,各種其他的資料是看不見,而因為其他原因會儲存。

在某些情況下沒有您在 Outlook 中所看到的與什麼儲存在基礎的 MAPI 資料庫之間的一對一對應。電子郵件訊息的 [主旨] 方塊是一個例子,因為這個方塊相對應 PR_SUBJECT MAPI 內容。在這種情況下此屬性 predates Outlook,因為這個屬性由先前的 Microsoft 電子郵件用戶端。其他屬性也會有一對一的對應,但是專用於 Outlook。 比方說連絡人 ’s Web 站台地址會儲存在特定的 MAPI 具名屬性。

附註如需在 Outlook 中的具名屬性的詳細資訊,請參閱 「 MAPI 特定資訊的具名屬性 」 一節。

在某些情況下 Outlook 可能會使用多個 MAPI 屬性來儲存資訊的特定的用途,或 Outlook 可能會將多項資訊儲存在一個屬性]。在這兩種情況經常沒有任何文件說明如何實作這些屬性,或它們的功能。

以程式設計方式變更基礎屬性牽涉到一些風險。主要區域包括下列各項:
  • Outlook 可能會遇到未預期的行為,或停止回應某些屬性變更時。
  • 各種不同的 API 來執行 Outlook 時,動態變更 Outlook 中的某些屬性時,可能會發生問題。
  • 不同版本的 Outlook 可能會連線到相同的 MAPI 儲存。因此,那里可能會被新增複雜性,因為不同版本的 Outlook 可能會與相關屬性互動以不同的方式。
因此,Outlook 所使用的許多 MAPI 內容不會記載在 MAPI 層級。MAPI 結構描述,用於複雜,且可能會變更與後期版本 MAPI。

因此,我們建議您避免直接存取這個低階的資料並您使用高階的 API 來代替,如 Outlook 物件程式庫。因為這些因素的 Microsoft 通常並不支援解釋如何或為何會實作基礎的屬性。

也是重要區別讀取屬性與寫入屬性。支援以程式設計方式使用 Microsoft Office Outlook 2007 物件模型中的 API 如延伸 MAPI、 WebDAV 或 PropertyAccessor 物件讀取 MAPI 內容。但是,寫入這些屬性並不支援的可能會因為資料損毀問題或其他問題的其他該 MAPI 用戶端可能會有使用修改過的資料時。

具名屬性的 MAPI 專屬資訊

MAPI 提供設備供將名稱指派給特定屬性,將這些名稱對應到唯一識別項和進行此對應永續性。Outlook 會將許多 Outlook 特定欄位中寫入這些具名 8000 FFFE 範圍中使用識別項的屬性。通常,Microsoft Outlook 物件模型是變更這些具名屬性的唯一支援的方法。通常,不支援變更這些屬性,藉由使用 MAPI 或是利用共同作業資料物件 (CDO)。

依名稱和屬性集的 GUID,會識別具名的屬性。名稱可以是一個數字或字串。這些屬性是由使用 IMAPIProp::GetIDsFromNames 函式和 IMAPIProp::GetNamesFromIDs 函式操作。GUID 和名稱會傳遞至 GetIDsFromNames 函式,以取得目前的 MAPI 工作階段是有效的屬性 ID。因為這個屬性 ID 可以不同電腦,只一致的方式存取的具名的屬性會為知道其屬性設定和它的名稱。

通常,具名的屬性是由 Outlook 用戶端做為將額外的資訊新增至該用戶端只使用一個訊息的方式。 因此,未記載大部分的 Outlook 用戶端所使用的具名屬性。唯一的支援的方法,以取得這些屬性是透過 Outlook 物件模型。

一般具名 Outlook 所使用的屬性

下表說明一般具名 Outlook 所使用的屬性。
摺疊此表格展開此表格
項目型別 (訊息類別)支援能力的摘要
訊息 (IPM.Note)郵件是以 MAPI 原生。 Outlook 不會維護這些項目中的某些具名的屬性。
連絡人項目 (IPM.Contact)連絡人並不是以 MAPI 原生。因為連絡人類似於通訊錄項目,某些地址項目標籤都是有效的。大部分的連絡人屬性的命名屬性。
工作項目 (IPM.Task)工作不會以 MAPI 原生的。 大部分的工作內容的命名屬性。
約會項目 (IPM.Appointment)約會但並不以 MAPI 原生 CDO 以原生。大部分的約會屬性的命名屬性。約會的某些屬性會公開透過 CDO 約會項目 物件。
日誌項目 (IPM.Activity)期刊並不是以 MAPI 原生。大部分的日誌屬性的命名屬性。
附註的項目 (IPM.StickyNote)沒有 MAPI 以原生自黏便箋。大部分的自黏便箋屬性的命名屬性。
除了此屬性是以 MAPI 原生,透過 MAPI、 透過 CDO、 透過 WebDAV,以及透過 Outlook 物件模型支援使用者定義自訂 Outlook 表單上的欄位。這些欄位使用 PS_PUBLIC_STRINGS 與屬性的屬性設定為屬性名稱的識別項和欄位的名稱。 如 WebDAV 基礎的資料,以及 MAPI 基礎的資料的支援性案例的更多有關,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
920134使用 WebDAV 通訊協定來存取 Exchange 2000 伺服器或 Exchange Server 2003 的應用程式的可用支援
Outlook 整合 API 提供其他文件與 Outlook 整合在特定案例中。若要欲這份文件請造訪下列 Microsoft 網站]:
http://msdn2.microsoft.com/en-us/library/aa193231(office.11).aspx
此外,下列資訊會詳細說明 Outlook 2007,然後將包含在 Outlook 整合 API,日後排程。 如需詳細資訊按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中 「 文件]:
919198通知為主索引在 Outlook 2007 中的存放區提供者的支援
919199如何使用 IAttachmentSecurity API 來確認附件是否被視為在 Outlook 中被封鎖
如需詳細資訊請造訪下列 Microsoft 網站]:
Outlook 2007 文件-封鎖附件
http://blogs.msdn.com/stephen_griffin/archive/2006/05/09/593585.aspx

Outlook 2007 文件-通知基礎索引支援
http://blogs.msdn.com/stephen_griffin/archive/2006/05/10/594641.aspx

Microsoft Office Outlook 2003 Service Pack 1 (SP1) 或更新的版本

如需詳細資訊按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中 「 文件]:
912239如何使用 dispidHeaderItem MAPI 內容來識別您在 Outlook 2003 中收到的訊息的狀態
912238如何使用 MAPI 管理.pst 檔中的郵件,當您使用 Outlook 2003,從 IMAP 伺服器下載郵件時
912237如何使用指名的內容關聯到電子郵件訊息、 電子郵件地址以及圖片附件在 Outlook 2003 中的連絡人通訊錄 」 項目
915314大約兩新名為可以控制訊息處理的方式 Office Outlook 2003 使用者回覆郵件時的屬性定義資訊
如需詳細資訊請造訪下列 Microsoft 網站]:
新的 Outlook 文件 5-One-off 表單部分
http://blogs.msdn.com/stephen_griffin/archive/2005/12/29/507991.aspx

Outlook 2003 整合 API 包裝 PST 文件和範例
http://blogs.msdn.com/stephen_griffin/archive/2005/09/28/Outlook-2003-Integration-API-Wrapped-PST-Docs-and-Sample.aspx

在 Managed 程式碼中並支援的 API

MAPI 是原本設計,原先開發晚期 1980年中。因此,MAPI predates Microsoft.NET Framework 的 Managed 程式碼。 我們不做 MAPI,提供 Managed 包裝函式並我們建議您不要從使用協力廠商的包裝函式。這是因為方案似乎在測試環境中工作,但是當一個應用程式部署在實際執行環境,並公開給實際的延展性的案例時,可能會發生與記憶體管理相關的問題。

下表摘要.NET Framework 環境中的 Outlook API 支援原則。
摺疊此表格展開此表格
APIDLL 名稱Managed 程式碼支援原則
Outlook 物件模型不適用藉由使用 COM Interop 組件支援
共同作業資料物件 (CDO) 1.2 xCdo.dll不支援
MAPI (延伸 MAPI 或簡單 MAPI)Mapi32.dll 或 Msmapi32.dll不支援
Exchange Server 2007 Web 服務不適用支援
WebDAV (Exchange 2000 伺服器和 Exchange Server 2003 已被取代的 Exchange Server 2007 中)不適用支援
如更多有關支援原則的 Managed 程式碼中其他傳訊 API,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項:
813349對於 Microsoft Exchange API 支援原則與.NET Framework 應用程式

.NET Framework 使用者控制項

Outlook 2003 中不支援.NET Framework 使用者控制項,在舊版的 Outlook,或 Outlook 2007 自訂表單區域中。 如更多有關這些控制項支援的資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項:
897863Winforms 的支援性的描述會控制在未受管理的應用程式中

自訂表單和 HTTP 案例對於 Outlook 2003 和舊版的 Outlook

在 Outlook,自訂 Outlook 表單不支援使用 HTTP 郵件服務 (例如 Microsoft Hotmail 的。Outlook 無法防止您使用自訂表單功能,如果您正在使用 HTTP 郵件服務。不過,某些功能無法正確運作。功能無法正確運作,因為 HTTP 郵件訊息儲存在伺服器上為唯讀狀態。因此,我們建議您不使用自訂 Outlook 表單如果您使用的一個 HTTP 郵件服務。

Microsoft Visual Basic 6.0 MAPI 控制項

Visual Basic 6.0 MAPI 控制項根據 Simple MAPI 和不再進行測試,或支援在 Outlook 2007 中啟動。我們鼓勵您的電子郵件解決方案使用較新的 API。

附註Visual Basic 6.0 標準的支援已過期。

通用訊息呼叫

發行的 Outlook 電子郵件安全性更新在六月 2000年之後,並不支援通用訊息呼叫 (CMC)。

動態資料交換 (DDE)

與其他 Office 應用程式不同的是 Outlook 不支援動態資料交換 (DDE) 做為以程式設計的方式與 Outlook 通訊的方式。

Microsoft Outlook Express (Microsoft Windows XP)

一段很長的時間用於 Outlook Express 唯一支援的 API 已 Simple MAPI。簡單 MAPI 是一組的函式和相關的資料結構,可以讓您將訊息傳送功能加入至自訂應用程式。Simple MAPI 函數可用於 C、 C + +,和 Visual Basic 版本。

在 Microsoft Exchange SDK 中提供 Simple MAPI 的說明文件。若要欲這份文件請造訪下列 Microsoft 網站]:
http://msdn.microsoft.com/en-us/library/aa142548(EXCHG.65).aspx
Outlook Express 會使用 Windows 位址通訊錄 (WAB)。如需有關 Windows 通訊錄的詳細資訊,請造訪下列 Microsoft 網站]:
http://msdn.microsoft.com/en-us/library/ms629361.aspx

Windows Vista 中的 [Windows 郵件

在 Windows Vista 中 Windows Mail 是取代了 Outlook Express。如需開發人員文件請造訪下列 Microsoft 網站]:
http://msdn.microsoft.com/en-us/library/ms709546.aspx
可用的 Outlook Express 6.0 的 API 也會包含在此文件中。

Windows Live API 及 SDK

關於與電子郵件相關的 API,以及有關支援選項,如 Windows Live 的詳細資訊,請造訪下列 Microsoft 網站]:
http://dev.live.com/
Microsoft 客戶支援目前並不提供對這些 API 的支援。

?考

如需有關具名屬性的詳細資訊,請造訪下列 Microsoft 網站]:
http://msdn2.microsoft.com/en-us/library/ms529055.aspx

屬性

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

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com