Entwicklerinformationen 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

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 899919 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

EINFÜHRUNG

Dieser Artikel beschreibt eine Änderung in der Behandlung von 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 auf Besprechungen. Dieser neue Entwurf berücksichtigt verschwindet Besprechung Szenarien, die von Outlook 2003 im Zwischenspeichermodus eingeführt wurden.

Das neue Design hat einen sichtbaren Auswirkungen auf Endbenutzer keinen. Der neue Entwurf kann jedoch benutzerdefinierte Lösungen auswirken, die mit den Kalenderfeatures des in Outlook integriert werden können. Dieser Artikel beschreibt das neue Design, damit Entwickler von benutzerdefinierten Lösungen diese Lösungen aktualisieren können, wenn es 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 Kalendereintrags für das gelöschte Element erstellt. Daher hat das neue Kalenderelement eine Eintrags-ID, die von die Eintrags-ID des alten Kalenderelement abweicht.

Benutzerdefinierte Lösungen möglicherweise beeinträchtigt werden Wenn Sie auf eine Weise, die wird davon ausgegangen entworfen wurden, dass eine Eintrags-ID für ein Kalenderelement konsistent bleibt, oder nur selten ändert.

Standardmäßig wird bei diesem neuen Akzeptanz Verhalten Besprechungsanfragen in Outlook 2003 SP2 und höher aktiviert ist. Das Verhalten kann jedoch deaktiviert oder wieder aktiviert, indem Sie die folgenden Registrierungsdaten auf dem Outlook-Client 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 die 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-Tools für Bereitstellung verfügbar. Weitere Informationen finden Sie in der Bereitstellung-Dokumentation. Besuchen Sie hierzu die folgende Website von Microsoft:
http://office.microsoft.com

Weitere Informationen

Hintergrundinformationen über 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 Exchange Server-Informationsspeicher für Öffentliche Ordner und eine Persönliche Ordner (. pst) Datei.

Eintrags-IDs sind garantiert innerhalb eines Informationsspeichers eindeutig sein. Eintrags-ID können jedoch unter bestimmten Bedingungen ä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 in Outlook bestimmte Funktionen ausführt. Diese Funktionen umfassen, exportieren und dann Daten reimporting. Der neue Ansatz zur Verarbeitung Kalendereinträge in Outlook 2003 SP2 und höher service Packs und in Exchange Server 2003 SP2 ist ein weiteres Beispiel, wenn eine Eintrags-ID ändern können.

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

Dieser neue Entwurf kann wie Lösungen auswirken.

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

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 den Code, um die Tatsache berücksichtigen, die Eintrags-ID für einen Kalendereintrag ändern.
  2. Verwenden Sie die globale Objekt-ID. Dies ist ein Bezeichner, der während der gesamten Lebensdauer des Kalendereintrags gleich bleibt.
Als Entwickler sollten Sie berücksichtigen dieser neue Entwurf im Outlook-Verhalten beim Entwerfen oder aktualisieren eine benutzerdefinierte Lösung, die in Outlook-Kalender integriert.

Globale Objekt-ID

Die globale Objekt-ID ist eine MAPI-Eigenschaft, die Outlook an Übereinstimmung Besprechungsaktualisierungen und Antworten mit einer bestimmten Besprechung im Kalender verwendet. Die globale Objekt-ID ist in allen Kopien des Kalendereintrags 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 erzeugen diese früheren Versionen von Outlook 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. Aus diesem Grund werden beginnend mit Outlook 2003 SP2 oder ein höheres Servicepack, alle Termine enthalten eine globale Objekt-ID, unabhängig davon, ob Sie Besprechungen sind an die andere Benutzer eingeladen wurden.

Verwenden Sie die globale Objekt-ID programmgesteuerten Zugriff auf die folgenden Informationen.
Property Set Tag (Namespace)
GUID = {6ED8DA90-450B-101B-98DA-00AA003F1305}
Named Property ID: 3

The Outlook-Objekt Bibliothek wurde nicht aktualisiert, um diese Eigenschaft verfügbar zu machen. In den folgenden Beispielen werden Codebeispiele, die veranschaulichen, wie Sie die globale Objekt-ID für ein Terminelement zugreifen, indem Sie die CDO 1.21-Objekt Bibliothek oder Extended MAPI (erfordert C++).

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 = objCDO.GetDefaultFolder(0).Messages.GetFirst()

'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 zu den CDO 1.21-Objekt Bibliothek

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

Einzelheiten über die CDOEX-Objekt Bibliothek

CDOEX-Objekt-Bibliothek wurde aktualisiert, um neue Termine, die 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, beginnend mit Office Outlook 2003 SP2 oder höher. Diese Änderung wird auch in späteren Versionen von Outlook enthalten.

Einzelheiten über Extended MAPI

Obwohl Sie die Eintrags-ID über Extended MAPI zugreifen können, wird über Extended MAPI zum Arbeiten mit Terminen nicht unterstützt. Weitere Informationen finden Sie die folgende KB-Artikelnummer:
266353Outlook benannten Eigenschaften werden von MAPI oder CDO nicht unterstützt

Eigenschaften

Artikel-ID: 899919 - Geändert am: Donnerstag, 25. Oktober 2007 - Version: 6.4
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 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
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.

Ihr Feedback an uns

 

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