Objekte in der Outlook-PIA

Wenn Sie die primäre Interopassembly (PIA) für Outlook in einem Objektkatalog durchsuchen, stellen Sie möglicherweise fest, dass viele Schnittstellen und Klassen auf ähnliche Objekte im Outlook-Objektmodell verweisen. Einige Objekte des Objektmodells verfügen über eine 1:1-Zuordnung zu Schnittstellen in der primären Interopassembly.

AddressEntry ist zum Beispiel der AddressEntry-Schnittstelle und das AddressList-Objekt der AddressList-Schnittstelle in der PIA zugeordnet.

Die meisten anderen Objekte haben jedoch eine 1:n-Zuordnung in der PIA. Diese 1:n-Zuordnung gilt für bestimmte Objekte, die vor Microsoft Office Outlook 2007 vorhanden waren, und alle Objekte, die seit Outlook 2007 hinzugefügt wurden. Dieses Thema beinhaltet die typischen einem COM-Objekt zugeordneten .NET-Schnittstellen, Klassen und Delegate und beschreibt den Zugriff auf ein Objekt in der Outlook-PIA. Außerdem werden einige Ausnahmen in der Outlook-PIA beschrieben, bei denen die Objekte im COM-basierten Objektmodell ausgeblendet werden oder veraltet sind.

Hilfsobjekte

In diesem Abschnitt werden die typischen Hilfsklassen für ein Objekt in der Outlook-PIA beschrieben, wobei das FormRegion-Objekt als Beispiel dient. Das FormRegion-Objekt wurde dem Objektmodell in Outlook 2007 hinzugefügt. Zu dem FormRegion-Objekt in der PIA gehören die in Abbildung 1 dargestellten Schnittstellen, Klassen und Delegaten.

Abbildung 1: Das FormRegion-Objekt im Outlook-Objektmodell und in der Outlook-PIA

Das FormRegion-Objekt im Outlook-Objektmodell und in der Outlook-PIA

Die FormRegion-Schnittstelle ist die Schnittstelle, die Sie am häufigsten für den Zugriff auf das FormRegion-Objekt und die zugehörige Methode, Eigenschaft und die Ereinigsmember verwenden. Sie sollten die FormRegion .NET-Schnittstelle jedoch nicht als genaues Spiegel Bild des FormRegion-COM-Objekts betrachten. Wenn Sie sich den Objektbrowser in Visual Studio ansehen, werden Sie feststellen, dass die FormRegion-Schnittstelle von einer anderen Schnittstelle erbt, der _FormRegion Schnittstelle. Tatsächlich ist die FormRegion-Schnittstelle nur eine der Schnittstellen und Klassen, die durch die Erstellung der auf der COM-Typbibliothek basierenden Outlook-PIA entstehen.

To create the Outlook PIA, Outlook uses the Type Library Importer (TLBIMP) in the .NET Framework to convert type definitions in the COM type library into equivalent definitions in a Common Language Runtime assembly. In COM, the FormRegion object is actually a coclass that consists of the following two interfaces defining the interfaces that the FormRegion object implements:

  • Die primäre Schnittstelle _FormRegion

  • Die Ereignisschnittstelle FormRegionEvents

TLBIMP directly imports _FormRegion and FormRegionEvents from the type library.

Other than importing the primary interface and event interface, TLBIMP creates a .NET interface that has the same name as the COM object, and a .NET class that uses the name of the object and appends it with "Class". In the case of the FormRegion object, TLBIMP creates the following:

Of the .NET interfaces and .NET class mentioned in this topic, you always use the .NET interface that TLBIMP creates to access an object. For example, to access a FormRegion object in VB, you always use the FormRegion interface, as in the following code example:

Imports Outlook = Microsoft.Office.Interop.Outlook
Sub DemoFormRegion(ByVal Region As Outlook.FormRegion)
    Dim MyFormRegion As Outlook.FormRegion = Region
    ' Additional method code here
End Sub
using Outlook = Microsoft.Office.Interop.Outlook; 
void DemoFormRegion(Outlook.FormRegion region) 
{
    Outlook.FormRegion myFormRegion = region; 
    // Additional method code here
}

Informationen über den Zweck der primären Schnittstelle und .NET-Klasse, die TLBIMP importiert bzw. erstellt, finden Sie unter Methoden und Eigenschaften in der Outlook-PIA. Informationen über den Zweck der ereignisbezogenen Schnittstellen, Delegate und Senkenhilfsklassen finden Sie unter Ereignisse in der Outlook-PIA.

Veraltete Objekte

Objekte, die in der Typbibliothek veraltet sind, werden in der Outlook-PIA verfügbar gemacht. Beispielsweise sind das _DDocSiteControl-Objekt und das _DRecipientControl-Objekt in der Typbibliothek verborgen, in der PIA werden sie jedoch verfügbar gemacht.

Ein weiteres Beispiel für ein veraltetes Objekt ist das MAPIFolder-Objekt. Seit Outlook 2007 hat das Folder-Objekt das MAPIFolder-Objekt im Objektmodell ersetzt. In vorhandenen Lösungen sollten Verweise auf MAPIFolder durch Folder ersetzt werden, und in allen Lösungen, die für Outlook 2007 und höhere Versionen neu sind, sollte nur das Folder-Objekt verwendet werden. Für nicht verwaltete Lösungen wird im Objektbrowser des Visual Basic-Editors das MAPIFolder-Objekt nicht mehr aufgelistet, auch nicht als verborgenes Objekt.

Für verwaltete Lösungen gilt: Die Outlook-PIA macht zwar eine Folder -Schnittstelle verfügbar, über die Sie auf das Folder-Objekt und seine Member zugreifen können, aber sie macht auch MAPIFolder als eine Schnittstelle verfügbar, die die Member des Folder-Objekts definiert.

Siehe auch