Vývojář informace o změnách kalendáře v aplikaci Outlook 2003 Service Pack 2, Exchange Server 2003 Service Pack 2 a novějších verzích Exchange Server a aplikace Outlook

Překlady článku Překlady článku
ID článku: 899919 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Úvod

Tento článek popisuje, jak aplikace Microsoft Office Outlook 2003 Service Pack 2 (SP2) a pozdějších aktualizacích service Pack, Microsoft Exchange Server 2003 Service Pack 2 (SP2) a novější verze Exchange Server a aplikace Outlook zpracovávat zasedání ke změně. Tento nový návrh řeší vymizení schůzku scénářů, které byly zavedeny aplikací Outlook 2003 v režimu s mezipamětí.

Nový návrh neobsahuje viditelné vliv na koncové uživatele. Nový návrh však může ovlivnit vlastní řešení, která integrují s funkcí kalendáře v aplikaci Outlook. Tento článek popisuje nový návrh, tak, aby vývojáři vlastních řešení může aktualizovat těchto řešení v případě potřeby.

Nový návrh funguje takto. Pokud uživatel přijímá nebo schůzku, buď ze žádosti o schůzku, nebo z položky kalendáře, nezávazně přijímá odstraněna existující položky kalendáře z kalendáře. Navíc je pro odstraněné položky vytvořen duplicitní položky kalendáře. Proto musí nové položky kalendáře ID položky, které se liší od položky identifikace staré položky kalendáře.

Vlastní řešení pravděpodobně nepříznivě ovlivněn, pokud jsou určeny tak, aby se předpokládá, že položka ID položky kalendáře zůstává konzistentní nebo mění jen zřídka.

Standardně tomto nové chování přijetí schůzky je povoleno v aplikaci Outlook 2003 s aktualizací SP2 a novější. Chování však lze zakázat nebo znovu pomocí následující data registru v klientovi aplikace Outlook povoleno:
Klíč: HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\Options\Calendar
DWORD: DisableMeetingRegeneration
Hodnoty: 1 = vrátit k před SP2 chování; 0 = chování použití nové aktualizace SP2
Poznámka: Aniž by tato data registru aplikace Outlook 2003 používá výchozí SP2 nebo novější aktualizace chování služby.

V aplikaci Outlook 2007 je k dispozici v nasazení nástroje sady Office tento klíč registru. Další informace naleznete v dokumentaci k nasazení. Chcete-li to provést, přejděte na následující web:
http://office.microsoft.com

Další informace

Základní informace o ID založena na rozhraní MAPI

Když aplikace Outlook uloží položku do složky, položky přiřazena hodnotou ID vstupu podle obchodu, ve kterém je umístěn na položku. Příklady obchody jsou Microsoft Exchange Server poštovní schránky, úložiště veřejných složek Exchange Server a soubor osobních složek (PST).

ID položky je zaručena jedinečný v rámci úložiště. ID však mohou měnit podle určitých scénářů. Položka je přesunuta do jiné složky nebo do jiného úložiště zahrnout tyto scénáře. ID položky lze také změnit, když uživatel provede určité funkce v aplikaci Outlook. Tyto funkce zahrnují export a potom reimporting data. Nový přístup k zpracování položky kalendáře v aplikaci Outlook 2003 s aktualizací SP2 a novější aktualizace service Pack a Exchange Server 2003 s aktualizací SP2 je jiný příklad možné změně ID položky.

Další informace o ID naleznete na webu služby MSDN:
http://msdn2.microsoft.com/en-us/library/ms531268.aspx
Existují různá rozhraní API podporující práci s ID. Tato rozhraní API zahrnují Extended MAPI, knihovnu objektů CDO 1.21 a Knihovna objektů aplikace Outlook.

Jak může ovlivnit tento nový návrh řešení

Některá řešení, která integrují s aplikací Outlook udržení přehledu o Outlook data v externí databázi. Jiná řešení může vlastních formulářů aplikace Outlook slouží k ukládání položky ID jednu položku jako pole na jinou položku propojení funkcí. V těchto scénářích můžete přístupy, například na metodě GetItemFromID v objektové knihovně pro aplikaci Outlook k přímému přístupu k položky podle její položka.

Však najít položku pomocí ID položky může být nespolehlivé po aktualizaci SP2 nebo novější aktualizace service pack nainstalována. Proto, že máte následující možnosti:
  1. Aktualizace kódu na skutečnost, že se změní ID položky pro položku kalendáře.
  2. Použít globální identifikátor objektu. Toto je identifikátor, který zůstane stejný po celou dobu životnosti položky kalendáře.
Jako vývojář můžete by měla zohlednit tento nový návrh chování aplikace Outlook při návrhu nebo aktualizaci vlastního řešení, které integruje s kalendáře aplikace Outlook.

Globální ID objektu

Globální ID objektu je vlastnost MAPI používané v aplikaci Outlook odpovídající aktualizace schůzky a odpovědi s konkrétní schůzku v kalendáři. Globální ID objektu je stejný přes všechny kopie položky kalendáře. V aplikace Microsoft Office Outlook 2003 Service Pack 1 (SP1) a v dřívějších verzích globální ID objektu generováno organizátora nejprve odešle žádost o schůzku. Proto tyto starší verze aplikace Outlook negenerují globální ID objektu pro neodeslané schůzky nebo události, které mají žádní příjemci.

V aplikaci Outlook 2003 Service Pack 2 nebo novější verzí sady Office globální ID objektu se vytvoří, když uživatel poprvé uloží položky kalendáře, bez ohledu na to, zda je odeslána. Počínaje aplikaci Outlook 2003 Service Pack 2 nebo novější aktualizace service pack, všechny události budou tudíž globální ID objektu ohledu na to, zda jsou schůzky, které byly vyzvány ostatním uživatelům.

Chcete-li programově získat přístup k globální ID objektu, použijte následující informace.
Property Set Tag (Namespace)
GUID = {6ED8DA90-450B-101B-98DA-00AA003F1305}
Named Property ID: 3

knihovny objektů aplikaci Outlook nebyla aktualizována zpřístupnit tuto vlastnost. Tyto vzorky jsou ukázky kódu, které ilustrují, jak získat přístup k globální ID objektu, na položku události pomocí knihovny objektů CDO 1.21 nebo Extended MAPI (vyžaduje 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
Rozšířené 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);

Podrobnosti o knihovně objektu CDO 1.21

Knihovny objektů CDO 1.21 byla aktualizována ke zpracování události založené na tento nový návrh. Změna návrhu je zahrnuta v CDO.DLL straně serveru, který je součástí Exchange Server 2003 SP2. Nainstalovanou verzi CDO.DLL, která se týká klienta aplikace Outlook nebo Microsoft Office. První verze klienta tak, aby zahrnoval tuto změnu je CDO.DLL, která je nainstalována aktualizace Microsoft Office 2003 SP2.

Podrobnosti o knihovně objektu CDOEX

Knihovny objektů CDOEX byla aktualizována pro zpracování nových událostí, které jsou založeny na tento nový návrh. CDOEX lze použít pouze na serveru Exchange. Navíc je součástí aktualizovaný CDOEX.DLL Exchange Server 2003 SP2.

Podrobnosti o Knihovna objektů aplikace Outlook

Knihovna objektů aplikace Outlook poskytuje nové funkce, spuštění s Office Outlook 2003 SP2 nebo novější. Tato změna je také součástí novějších verzích aplikace Outlook.

Podrobnosti o rozšířené MAPI

Přestože máte přístup k ID pomocí rozhraní Extended MAPI, není podporována pomocí rozhraní Extended MAPI pracovat s událostmi. Další informace naleznete následujícím článku znalostní databáze Microsoft Knowledge Base:
266353Aplikace Outlook s názvem vlastnosti nejsou podporovány MAPI nebo CDO

Vlastnosti

ID článku: 899919 - Poslední aktualizace: 25. října 2007 - Revize: 6.4
Informace v tomto článku jsou určeny pro produkt:
  • 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
Klíčová slova: 
kbmt kbinfo KB899919 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:899919

Dejte nám zpětnou vazbu

 

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