Desarrollador información acerca de los cambios de calendario en Outlook 2003 Service Pack 2, en Exchange Server 2003 Service Pack 2 y en versiones posteriores del servidor de Exchange y del Outlook

Seleccione idioma Seleccione idioma
Id. de artículo: 899919 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

INTRODUCCIÓN

En este artículo se describe un cambio en la forma en que Microsoft Office Outlook 2003 Service Pack 2 (SP2) y service packs posteriores, Microsoft Exchange Server 2003 Service Pack 2 (SP2) y versiones posteriores de Exchange Server y de Outlook controlan las reuniones. Este nuevo diseño aborda los escenarios de reunión que desaparecen se introdujeron por Outlook 2003 en modo de intercambio en caché.

El nuevo diseño no tiene un efecto visible en los usuarios finales. Sin embargo, el nuevo diseño puede afectar a las soluciones personalizadas que se integran con las funciones de calendario de Outlook. En este artículo se describe el nuevo diseño para que los desarrolladores de soluciones personalizadas puedan actualizar esas soluciones si es necesario.

El nuevo diseño funciona de la siguiente manera. Cuando un usuario acepta o provisionalmente acepta una reunión desde una convocatoria de reunión o desde un elemento del calendario, se elimina el elemento de calendario existentes del calendario. Además, se crea un duplicado del elemento de calendario para el elemento eliminado. Por lo tanto, el nuevo elemento de calendario tiene un identificador de entrada difiere el identificador de entrada del elemento de calendario antiguos.

Soluciones personalizadas puedan verse adversamente afectadas si están diseñados de forma que se da por supuesto que un identificador de entrada para un elemento de calendario permanece coherente o cambia sólo en raras ocasiones.

De forma predeterminada, este nuevo comportamiento de aceptación de reunión está habilitada en Outlook 2003 SP2 y posterior. Sin embargo, el comportamiento puede deshabilitarse o volver a habilitar mediante los siguientes datos del registro en el cliente de Outlook:
Clave: HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\Options\Calendar
DWORD: DisableMeetingRegeneration
Valores: 1 = volver a anterior a SP2 comportamiento; 0 = uso SP2 nuevo comportamiento
Nota Sin estos datos del registro, Outlook 2003 utiliza el predeterminado SP2 o posterior service pack comportamiento.

En Outlook 2007, esta clave del registro está disponible en las herramientas de implementación de Office. Para obtener más información, consulte la documentación de implementación. Para hacerlo, visite el siguiente sitio Web de Microsoft:
http://office.microsoft.com

Más información

Información básica acerca de los identificadores de entrada basado en MAPI

Cuando Outlook guarda un elemento en una carpeta, el elemento se le asigna un valor de EntryID el almacén en el que reside el elemento. Algunos ejemplos de almacenes son un buzón de Microsoft Exchange Server, el almacén de carpetas públicas de Exchange Server y un archivo de carpetas personales (.pst).

Identificadores de entrada se garantiza que ser único dentro de un almacén. Sin embargo, puede cambiar los identificadores de entrada en determinados escenarios. Estos escenarios se incluyen cuando se mueve un elemento a una carpeta diferente o a otro almacén. También pueden cambiar los identificadores de entrada cuando un usuario realiza determinadas funciones en Outlook. Estas funciones incluyen exportar e importar datos. El nuevo enfoque para procesamiento calendario los elementos de Outlook 2003 SP2 y posterior service packs y en Exchange Server 2003 Service Pack 2 es otro ejemplo de cambias un identificador de entrada.

Para obtener más información sobre los identificadores de entrada, visite el siguiente sitio Web de MSDN:
http://msdn2.microsoft.com/en-us/library/ms531268.aspx
Hay distintas API que admiten trabajar con los identificadores de entrada. Estas API incluyen MAPI extendido, la biblioteca de objeto CDO 1.21 y la biblioteca de objetos de Outlook.

Cómo puede afectar este nuevo diseño de soluciones

Algunas soluciones que integran con Outlook realice un seguimiento de datos de Outlook en una base de datos externo. Otras soluciones pueden utilizar formularios personalizados de Outlook para almacenar el identificador de entrada de un elemento como un campo en otro elemento para proporcionar funcionalidad de vinculación. En estos escenarios, puede utilizar enfoques como el método GetItemFromID en la biblioteca de objetos de Outlook para tener acceso directamente a un elemento basándose en su identificador de entrada.

Sin embargo, utiliza un ID de entrada para buscar un elemento puede convertirse en no confiable después de Service Pack 2 o un service pack posterior está instalado. Por lo tanto, tiene las opciones siguientes:
  1. Actualice el código de cuenta para el hecho de que cambiará el identificador de entrada del elemento de calendario.
  2. Utilizar el identificador de objeto global. Esto es un identificador que no varía a lo largo de toda la vida útil del elemento de calendario.
Como desarrollador, debe tener este nuevo diseño en el comportamiento de Outlook en cuenta al diseñar o actualizar una solución personalizada que se integra con el calendario de Outlook.

ID. de objeto global

El ID de objeto global es una propiedad MAPI que Outlook utiliza para las actualizaciones de reunión de coincidencia y respuestas con una reunión concreta en el calendario. El ID de objeto global es el mismo en todas las copias del elemento de calendario. En Microsoft Office Outlook 2003 Service Pack 1 (SP1) y versiones anteriores, el ID de objeto global se genera cuando un organizador envía primero una convocatoria de reunión. Por lo tanto, estas versiones anteriores de Outlook no generan un ID de objeto global para las reuniones sin enviar o para las citas que tienen no hay destinatarios.

En Outlook 2003 SP2 o en las versiones posteriores de Office, el ID de objeto global se genera cuando un usuario guarda un elemento del calendario, independientemente de si se envía en primer lugar. Por tanto, empezando por el Service Pack 2 de Outlook 2003 o un service pack posterior, todas las citas tendrá un ID de objeto global, independientemente de si están las reuniones a la que otros usuarios han sido invitados.

Para obtener acceso al ID de objeto global mediante programación, utilice la siguiente información.
Property Set Tag (Namespace)
GUID = {6ED8DA90-450B-101B-98DA-00AA003F1305}
Named Property ID: 3

The Outlook objeto biblioteca no se ha actualizado para exponer esta propiedad. Los ejemplos siguientes son ejemplos de código que ilustran cómo obtener acceso al ID de objeto global en un elemento de cita mediante la biblioteca de objeto CDO 1.21 o MAPI extendido (requiere 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
MAPI extendido
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);

Biblioteca de objetos de la información específica acerca de CDO 1.21

La biblioteca de objeto CDO 1.21 se actualizó para procesar las citas basadas en este nuevo diseño. El cambio de diseño se incluye en el CDO.dll de servidor que se incluye con Exchange Server 2003 SP2. Está instalada la versión de cliente de CDO.dll mediante Outlook o Microsoft Office. La primera versión de cliente para incluir este cambio es CDO.dll que instala Microsoft Office 2003 Service Pack 2.

Información específica acerca de la biblioteca de objeto CDOEX

La biblioteca de objeto CDOEX se actualizó para procesar las nuevas citas basadas en este nuevo diseño. CDOEX puede utilizarse sólo en un servidor de Exchange. Además, CDOEX.dll actualizado se incluye en Exchange Server 2003 SP2.

Información específica acerca de la biblioteca de objetos de Outlook

La biblioteca de objetos de Outlook proporciona la funcionalidad nueva, empezando en el SP2 de Office Outlook 2003 o posterior. Este cambio también se incluye en las versiones posteriores de Outlook.

Información específica acerca de MAPI extendido

Aunque puede tener acceso a los identificadores de entrada mediante el uso de MAPI extendido, no se admite utilizar MAPI extendido para trabajar con citas. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
266353Outlook propiedades con nombre no son compatibles con MAPI o CDO

Propiedades

Id. de artículo: 899919 - Última revisión: jueves, 25 de octubre de 2007 - Versión: 6.4
La información de este artículo se refiere a:
  • 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
Palabras clave: 
kbmt kbinfo KB899919 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 899919

Enviar comentarios

 

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