如何 dispidHeaderItem MAPI 属性用于标识您在 Outlook 2003 中收到的邮件的状态

文章翻译 文章翻译
文章编号: 912239 - 查看本文应用于的产品
展开全部 | 关闭全部

简介

本文介绍如何使用 dispidHeaderItem MAPI 属性来标识您在 Microsoft Office Outlook 2003 中收到的消息的当前状态。

更多信息

当 Outlook 2003 配置为连接到 IMAP 或 POP3 邮件服务器时,邮件被下载到个人文件夹 (.pst) 文件中。当 Outlook 2003 配置为连接到 Microsoft Exchange Server 2003 服务器时,还可以配置 Outlook 2003 以邮件下载到一个.pst 文件。 此外,您可以配置 Outlook 2003,以在缓存 Exchange 模式下工作。在缓存 Exchange 模式下的邮件被下载到脱机文件夹 (.ost) 文件。

Outlook 2003 配置为在缓存 Exchange 模式下工作或将其配置为连接到 IMAP 邮件服务器时, 被下载到.ost 或.pst 文件,在客户端计算机上的消息可以是下列状态之一:
  • 只被下载标题
  • 标题和正文将同时下载
您可以使用 dispidHeaderItem MAPI 属性,以确定是否在.ost 或.pst 文件中的邮件是在"标头只下载"或"标题和正文将同时下载"状态。dispidHeaderItem MAPI 属性 PT_LONG 数据类型并且 PSETID_Common 命名空间中。邮件在"标头只下载"状态时,dispidHeaderItem MAPI 属性将返回非零值。

注意dispidHeaderItem MAPI 属性不适用于远程传输标头。可以通过 IPM.Remote 邮件类来区分远程传输标头。

在下面的代码中定义了 dispidHeaderitem MAPI 属性和 PSETID_Common 命名空间:
#define dispidHeaderItem 0x8578
DEFINE_OLEGUID(PSETID_Common, MAKELONG(0x2000+(8),0x0006),0,0);
Sample code

Microsoft 提供的编程示例只,用于说明不附带任何明示或暗示保证。这包括,但不限于对适销性或针对特定用途的适用性的暗示的担保。本文假定您熟悉演示了正在使用的编程语言以及用于创建和调试过程的工具。Microsoft 支持工程师可以帮助解释某个特定过程的功能,但他们不会修改这些示例以提供额外的功能或构建过程来满足您的具体要求。

以下是一种方式 dispidHeaderItem MAPI 属性可用于识别一条消息的当前状态:
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;
}

参考

有关详细的信息,请访问下面的 Microsoft 网站:
http://msdn2.microsoft.com/en-us/library/bb820923.aspx

属性

文章编号: 912239 - 最后修改: 2007年11月22日 - 修订: 2.1
这篇文章中的信息适用于:
  • Microsoft Office Outlook 2003
关键字:?
kbmt kbhowto kbinfo KB912239 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 912239
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

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