Cómo utilizar la propiedad MAPI dispidHeaderItem para identificar el estado de un mensaje que recibe en Outlook 2003

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

INTRODUCCIÓN

En este artículo describe cómo utilizar la propiedad MAPI dispidHeaderItem para identificar el estado actual de un mensaje que recibe en Microsoft Office Outlook 2003.

Más información

Cuando Outlook 2003 está configurado para conectarse a un servidor de correo IMAP o POP3, los mensajes se descargan en un archivo de carpetas personales (.pst). Cuando Outlook 2003 está configurado para conectarse a un servidor Microsoft Exchange Server 2003, también puede configurar Outlook 2003 para descargar mensajes en un archivo .pst. Además, puede configurar Outlook 2003 para trabajar en modo de intercambio en caché. En el modo de intercambio en caché, los mensajes se descargan en un archivo de carpeta sin conexión (.ost).

Cuando Outlook 2003 está configurado para funcionar en modo de intercambio en caché o configurado para conectarse a un servidor de correo IMAP, los mensajes que se descargan a los archivos .ost o .pst en el equipo cliente pueden estar en uno de los estados siguientes:
  • Sólo se descarga el encabezado
  • El encabezado y cuerpo se descargan
Puede utilizar la propiedad MAPI dispidHeaderItem para identificar si el mensaje en el archivo .ost o .pst está en el "encabezado sólo se descarga" o el estado de "encabezado y cuerpo son ambos descargados". La propiedad MAPI dispidHeaderItem es un tipo de datos PT_LONG y PSETID_Common espacio de nombres. La propiedad MAPI dispidHeaderItem devuelve un valor de cero cuando el mensaje está en el estado de "encabezado sólo se descarga".

Nota La propiedad MAPI dispidHeaderItem no se aplica a encabezados de transporte remota. Encabezados de transporte remoto puedan distinguirse por la clase de mensaje IPM.Remote.

La propiedad MAPI dispidHeaderitem y PSETID_Common espacio de nombres se definen en el siguiente código:
#define dispidHeaderItem 0x8578
DEFINE_OLEGUID(PSETID_Common, MAKELONG(0x2000+(8),0x0006),0,0);
Sample code

Microsoft proporciona ejemplos de programación con fines ilustrativos únicamente, sin ninguna garantía tanto expresa como implícita. Esto incluye, entre otras, las garantías implícitas de comerciabilidad e idoneidad para un fin determinado. Este artículo se supone que está familiarizado con el lenguaje de programación que se muestra y con las herramientas que se utilizan para crear y depurar procedimientos. Los ingenieros de soporte técnico de Microsoft pueden explicarle la funcionalidad de un determinado procedimiento, pero no modificarán estos ejemplos para ofrecer mayor funcionalidad ni crearán procedimientos que cumplan sus requisitos específicos.

El siguiente es un ejemplo de cómo se puede utilizar la propiedad MAPI dispidHeaderItem para identificar el estado actual de un mensaje:
BOOL bIsHeader(LPMESSAGE lpMessage)
{
	HRESULT         hRes = S_OK;
	BOOL            bRet = false;
	ULONG	          ulVal = 0;
	LPSPropValue    lpPropVal = NULL;
	LPSPropTagArray lpNamedPropTag = NULL;
	MAPINAMEID      NamedID = {0};
	LPMAPINAMEID    lpNamedID = NULL;

	NamedID.lpguid = (LPGUID) &PSETID_Common;
	NamedID.ulKind = MNID_ID;
	NamedID.Kind.lID = dispidHeaderItem;
	lpNamedID = &NamedID;

	hRes = lpMessage->GetIDsFromNames(1, &lpNamedID, NULL, &lpNamedPropTag);

	if (lpNamedPropTag && 1 == lpNamedPropTag->cValues)
	{
		lpNamedPropTag->aulPropTag[0] = CHANGE_PROP_TYPE(lpNamedPropTag->aulPropTag[0], PT_LONG);

		//Get the value of the property.
		hRes = lpMessage->GetProps(lpNamedPropTag, 0, &ulVal, &lpPropVal);
		if (lpPropVal && 1 == ulVal && PT_LONG == PROP_TYPE(lpPropVal->ulPropTag) && lpPropVal->Value.ul)
		{
			bRet = true;
		}
	}
	
	MAPIFreeBuffer(lpPropVal);
	MAPIFreeBuffer(lpNamedPropTag);
	return bRet;
}

Referencias

Para obtener más información al respecto, visite el siguiente sitio Web de Microsoft:
http://msdn2.microsoft.com/en-us/library/bb820923.aspx

Propiedades

Id. de artículo: 912239 - Última revisión: jueves, 22 de noviembre de 2007 - Versión: 2.1
La información de este artículo se refiere a:
  • Microsoft Office Outlook 2003
Palabras clave: 
kbmt kbhowto kbinfo KB912239 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): 912239

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