Como utilizar a propriedade MAPI dispidHeaderItem para identificar o estado de uma mensagem que recebe no Outlook 2003

Traduções de Artigos Traduções de Artigos
Artigo: 912239 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

INTRODUÇÃO

Este artigo descreve como utilizar a propriedade MAPI dispidHeaderItem para identificar o estado actual de uma mensagem que recebe no Microsoft Office Outlook 2003.

Mais Informação

Quando o Outlook 2003 está configurado para estabelecer ligação com um servidor de correio IMAP ou POP3, as mensagens são transferidas para um ficheiro de pastas pessoais (.pst). Quando o Outlook 2003 está configurado para ligar a um servidor Microsoft Exchange Server 2003, pode também configurar o Outlook 2003 para transferir mensagens para um ficheiro .pst. Além disso, pode configurar o Outlook 2003 para trabalhar no modo de intercâmbio em cache. No modo de intercâmbio em cache, as mensagens são transferidas para um ficheiro de pasta offline (.ost).

Ao Outlook 2003 é configurado para funcionar no modo de intercâmbio em cache ou configurado para ligar um servidor de correio IMAP, as mensagens que são transferidas para os ficheiros .ost ou .pst no computador cliente podem ter um dos seguintes estados:
  • O cabeçalho só é transferido
  • O cabeçalho e corpo são ambos transferidos
Pode utilizar a propriedade MAPI dispidHeaderItem para identificar se a mensagem no ficheiro .ost ou .pst estiver no "cabeçalho apenas é transferido" ou o estado "cabeçalho e corpo são ambos transferidos". A propriedade MAPI dispidHeaderItem é um tipo de dados PT_LONG sendo no espaço de nomes PSETID_Common. A propriedade MAPI dispidHeaderItem devolve um valor de não zero quando a mensagem está no estado "cabeçalho apenas é transferido".

Nota A propriedade MAPI dispidHeaderItem não se aplica a cabeçalhos de transporte remoto. Cabeçalhos de transporte remoto podem ser distinguidos pela classe de mensagem IPM.Remote.

As dispidHeaderitem MAPI propriedade e espaço de nomes PSETID_Common estão definidos no seguinte código:
#define dispidHeaderItem 0x8578
DEFINE_OLEGUID(PSETID_Common, MAKELONG(0x2000+(8),0x0006),0,0);
Sample code

A Microsoft fornece exemplos de programação apenas, para fins sem garantia expressa ou implícita. Isto inclui, mas não está limitado a, as garantias implícitas de comercialização ou adequação a um fim específico. Este artigo pressupõe que está familiarizado com a linguagem de programação apresentada e as ferramentas que são utilizadas para criar e depurar procedimentos. Os técnicos de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento, mas não modificarão estes exemplos para proporcionarem funcionalidades adicionais nem criarão procedimentos adaptados às necessidades específicas do utilizador.

Segue-se um exemplo de como a propriedade MAPI dispidHeaderItem pode ser utilizada para identificar o estado actual de uma mensagem:
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;
}

Referências

Para mais informações, visite o seguinte Web site da Microsoft:
http://msdn2.microsoft.com/en-us/library/bb820923.aspx

Propriedades

Artigo: 912239 - Última revisão: 22 de novembro de 2007 - Revisão: 2.1
A informação contida neste artigo aplica-se a:
  • Microsoft Office Outlook 2003
Palavras-chave: 
kbmt kbhowto kbinfo KB912239 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 912239

Submeter comentários

 

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