Artikel-ID: 899919 - Geändert am: Donnerstag, 25. Oktober 2007 - Version: 6.3

Entwickler Informationen zu den Kalender-Änderungen in Outlook 2003 Service Pack 2, Exchange Server 2003 Service Pack 2 und höheren Versionen von Exchange Server und Outlook

Auf dieser Seite

Alles erweitern | Alles schließen

EINFÜHRUNG

Dieser Artikel beschreibt eine Änderung wie Microsoft Office Outlook 2003 Service Pack 2 (SP2) und spätere Servicepacks, Microsoft Exchange Server 2003 Service Pack 2 (SP2) und späteren Versionen von Exchange Server und Outlook Besprechungen verarbeitet. Dieser neue Entwurf Adressen verschwindet Besprechung Szenarien, die von Outlook 2003 im Zwischenspeichermodus eingeführt wurden.

Das neue Design hat einen sichtbaren Effekt auf Endbenutzer keinen. Der neue Entwurf kann jedoch benutzerdefinierte Lösungen auswirken, die in den Kalender-Features in Outlook integriert. Dieser Artikel beschreibt das neue Design, sodass Entwickler von benutzerdefinierten Lösungen diese Lösungen aktualisieren können, wenn dies erforderlich ist.

Der neue Entwurf funktioniert wie folgt. Wenn ein Benutzer akzeptiert oder mit Vorbehalt eine Besprechung aus einer Besprechungsanfrage oder ein Kalenderelement akzeptiert, wird das vorhandene Kalenderelement aus dem Kalender gelöscht. Darüber hinaus wird ein Duplikat des Kalenderelements für das gelöschte Element erstellt. Daher hat das neue Kalenderelement eine Eintrags-ID die EINTRAGSKENNUNG des alten Kalendereintrags unterscheidet.

Benutzerdefinierte Lösungen können negativ beeinträchtigt werden, wenn in einer Weise, die wird davon ausgegangen entworfen werden, dass eine Eintrags-ID für ein Kalenderelement konsistent bleibt, oder nur selten ändert.

Standardmäßig wird bei diesem neuen Annahme Verhalten Besprechung in Outlook 2003 SP2 und höher aktiviert ist. Das Verhalten kann jedoch deaktiviert oder mithilfe der folgenden Registrierungsdaten auf der Outlook-Client wieder aktiviert werden:
Schlüssel : HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\Options\Calendar
DWORD : DisableMeetingRegeneration
Werte : 1 = die Vorgängerversion von SP2 wieder Verhalten; 0 = verwenden der neuen SP2-Verhalten
Hinweis: Ohne diese Registrierungsdaten verwendet Outlook 2003 Standard SP2 oder höher Service Pack-Verhalten.

In Outlook 2007 ist dieser Registrierungsschlüssel in der Office-Bereitstellung-Tools verfügbar. Weitere Informationen lesen Sie die Bereitstellung-Dokumentation. Besuchen Sie hierzu die folgende Website von Microsoft:
http://office.microsoft.com (http://office.microsoft.com)

Weitere Informationen

Hintergrund auf MAPI-Eintrags-ID

Wenn Outlook ein Element in einem Ordner speichert, wird das Element einen Eintrags-ID-Wert durch den Speicher zugewiesen, in dem das Element befindet. Beispiele für Informationsspeicher sind ein Microsoft Exchange Server-Postfach, der Informationsspeicher für Öffentliche Ordner von Exchange Server und eine Persönliche Ordner (. pst) Datei.

Eintrags-IDs sind garantiert innerhalb eines Informationsspeichers eindeutig sein. EntryIDs können jedoch bestimmte Szenarien ändern. Diese Szenarien umfassen Wenn ein Element in einen anderen Ordner oder an einen anderen Informationsspeicher verschoben wird. Eintrags-IDs können auch ändern, wenn ein Benutzer bestimmte Funktionen in Outlook ausführt. Diese Funktionen umfassen exportieren und dann reimporting Daten. Der neue Ansatz zur Verarbeitung Kalendereinträge in Outlook 2003 SP2 und höher service Packs und in Exchange Server 2003 SP2 ein weiteres Beispiel ist, wenn eine Eintrags-ID ändern können.

Weitere Informationen zu EntryIDs der folgenden MSDN-Website:
http://msdn2.microsoft.com/en-us/library/ms531268.aspx (http://msdn2.microsoft.com/en-us/library/ms531268.aspx)
Es gibt verschiedene APIs, arbeiten mit EntryIDs unterstützen. Diese APIs umfassen Extended MAPI, die CDO 1.21-Objekt Bibliothek und die Outlook-Objekt Bibliothek.

Wie sich dieser neue Entwurf auf Lösungen auswirken

Einige Lösungen, die in Outlook integriert Verfolgen der Outlook-Daten in einer externen Datenbank. Andere Lösungen können benutzerdefinierte Outlook-Formularen verwenden, um die EINTRAGSKENNUNG eines Elements als Feld auf einem anderen Element verknüpfen Funktionalität zu speichern. In diesen Szenarien können Ansätze, wie z. B. die GetItemFromID -Methode in der Outlook-Objekt Bibliothek Sie direkten Zugriff auf ein Element anhand seiner Eintrags ID

Jedoch eine Eintrags-ID zum Suchen eines Elements zu verwenden möglicherweise mehr unzuverlässige nach SP2 oder ein höheres Servicepack installiert ist. Daher haben Sie die folgenden Optionen:
  1. Aktualisieren Sie Ihre Code, um die Tatsache berücksichtigen, die die Eintrags-ID für ein Kalenderelement ändern.
  2. Verwenden Sie die globale Objekt-ID. Dies ist ein Bezeichner, der dem während der gesamten Lebensdauer des Kalendereintrags bleibt.
Als Entwickler sollten Sie berücksichtigen dieser neue Entwurf im Outlook-Verhalten beim Entwerfen oder aktualisieren eine benutzerdefinierte Lösung, die mit Outlook-Kalender integriert.

Globale Objekt-ID

Die globale Objekt-ID ist eine MAPI-Eigenschaft, die Outlook zum Übereinstimmung Besprechungsaktualisierungen und Antworten mit einer bestimmten Besprechung im Kalender verwendet. Die globale Objekt-ID ist in alle Kopien des Kalenderelements identisch. In Microsoft Office Outlook 2003 Service Pack 1 (SP1) und früheren Versionen wird die globale Objekt-ID generiert, wenn ein Organisator zuerst eine Besprechungsanfrage sendet. Daher diese früheren Versionen von Outlook generieren keine globale Objekt-ID für nicht gesendete Besprechungen oder Termine, die keine Empfänger.

In Outlook 2003 SP2 oder späteren Versionen von Office wird die globale Objekt-ID generiert, wenn ein Benutzer speichert zunächst ein Kalenderelement, unabhängig davon, ob es gesendet wird. Daher werden mit Outlook 2003 SP2 oder ein höheres Servicepack beginnen, alle Termine haben globale Objekt-ID, unabhängig davon, ob Sie Besprechungen sind, andere Benutzer eingeladen wurden.

Verwenden, um die globale Objekt-ID programmgesteuert zuzugreifen folgende Informationen.
Property Set Tag (Namespace)
GUID = {6ED8DA90-450B-101B-98DA-00AA003F1305}
Named Property ID: 3

The Outlook-Objekt Bibliothek offen legen diese Eigenschaft nicht aktualisiert wurde. Die folgenden Beispiele sind Codebeispiele, die veranschaulichen, wie die globale Objekt-ID für ein Terminelement mithilfe der CDO 1.21-Objekt Bibliothek oder Extended MAPI (erfordert C++) zugreifen.

CDO 1.21
'Note that you must add a reference to ?Microsoft CDO 1.21 Library?  (CDO.DLL) to run this code
Dim objCDO As MAPI.Session
Dim objAppt As MAPI.Message
Dim oAppt As Outlook.AppointmentItem
Dim objFields As MAPI.Fields
Dim Value

Dim propSet As String

Set objCDO = CreateObject("MAPI.Session")
objCDO.Logon "", "", False, False

'Assumes that active inspector is a calendar item
Set oAppt = Application.ActiveInspector.CurrentItem

'Use EntryID to get CDO Message
Set objAppt = objCDO.GetMessage(oAppt.EntryID)

'http://support.microsoft.com/?kbid=195656 says to swap around the GUID
'propSet = "6ED8DA90450B101B98DA00AA003F1305" '<-GUID we think we should be using
propSet = "90DAD86E0B451B1098DA00AA003F1305" '<-GUID that will really work

Set objFields = objAppt.Fields
Value = objFields.Item("0x0003", propSet).Value

MsgBox Value
Erweiterte MAPI-
DEFINE_GUID(PSETID_Meeting, 
   0x6ED8DA90,0x450B,0x101B,0x98,0xDA,0x00,0xAA,0x00,0x3F,0x13,0x05); 
#define LID_GLOBAL_OBJID 3 

// This code assumes that lpMsg is an LPMESSAGE 
HRESULT hr = S_OK; 
ULONG ulVal = 0; 
LPSPropValue lpPropVal = NULL; 
LPSPropTagArray lpNamedPropTag = NULL; 

MAPINAMEID NamedID = {0}; 
LPMAPINAMEID lpNamedID = NULL; 

// Set up the request to GetIDsFromNames. 
NamedID.lpguid = (LPGUID) &PSETID_Meeting; 
NamedID.ulKind = MNID_ID; 
NamedID.Kind.lID = LID_GLOBAL_OBJID; 
lpNamedID = &NamedID; 

// Find the prop tag 
hr = lpMsg->GetIDsFromNames(1, &lpNamedID, NULL, &lpNamedPropTag); 

// Set our type to binary 
lpNamedPropTag->aulPropTag[0] = 
   CHANGE_PROP_TYPE(lpNamedPropTag->aulPropTag[0],PT_BINARY); 

// Get the value of the property. 
hr = lpMsg->GetProps(lpNamedPropTag ,0, &ulVal, &lpPropVal); 

// Do something with the ID here 

// Cleanup 
MAPIFreeBuffer(lpPropVal); 
MAPIFreeBuffer(lpNamedPropTag);

Einzelheiten über CDO 1.21-Objekt Bibliothek

Die CDO 1.21-Objekt Bibliothek wurde aktualisiert, um Termine basierend auf dieser neue Entwurf zu verarbeiten. Design ändern ist in der serverseitigen CDO.dll enthalten, die in Exchange Server 2003 SP2 enthalten ist. Die Client-Version von CDO.dll wird von Outlook oder Microsoft Office installiert. Die erste clientseitige Version um diese Änderung enthalten ist CDO.dll, die von Microsoft Office 2003 SP2 installiert wird.

Einzelheiten über die CDOEX-Objekt Bibliothek

Die CDOEX-Objekt Bibliothek wurde aktualisiert, um neue Termine basierend auf dieser neue Entwurf zu verarbeiten. CDOEX kann nur auf einem Exchange-Server verwendet werden. Darüber hinaus ist die aktualisierte CDOEX.dll in Exchange Server 2003 SP2 enthalten.

Einzelheiten über die Outlook-Objekt Bibliothek

Der Outlook-Objekt Bibliothek bietet neue Funktionalität, starten mit Office Outlook 2003 SP2 oder höher. Diese Änderung ist auch in späteren Versionen von Outlook enthalten.

Einzelheiten über Extended MAPI

Obwohl Sie über Extended MAPI EntryIDs zugreifen können, wird über Extended MAPI zum Arbeiten mit Terminen nicht unterstützt. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
266353  (http://support.microsoft.com/kb/266353/ ) Outlook benannten Eigenschaften werden von MAPI oder CDO nicht unterstützt.

Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Office Outlook 2007
  • Microsoft Exchange Server 2007 Standard Edition
  • Microsoft Exchange Server 2007 Enterprise Edition
  • Microsoft Office Outlook 2003
  • Microsoft Exchange Server 2003 Enterprise Edition
  • Microsoft Exchange Server 2003 Standard Edition
Keywords: 
kbmt kbinfo KB899919 KbMtde
Maschinell übersetzter ArtikelMaschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 899919  (http://support.microsoft.com/kb/899919/en-us/ )
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.
 

SPRACHE AUSWÄHLEN