IMsgStore::GetReceiveFolder

适用于:Outlook 2013 | Outlook 2016

获取已建立为指定邮件类的传入邮件的目标或作为邮件存储区的默认接收文件夹的文件夹。

HRESULT GetReceiveFolder(
  LPSTR lpszMessageClass,
  ULONG ulFlags,
  ULONG FAR * lpcbEntryID,
  LPENTRYID FAR * lppEntryID,
  LPSTR FAR * lppszExplicitClass
);

参数

lpszMessageClass

[in]指向与接收文件夹关联的邮件类的指针。 如果 lpszMessageClass 参数设置为 NULL 或空字符串, GetReceiveFolder 将返回邮件存储的默认接收文件夹。

ulFlags

[in]控制传入字符串和返回字符串类型的标志的位掩码。 可以设置以下标志:

MAPI_UNICODE

消息类字符串采用 Unicode 格式。 如果未设置MAPI_UNICODE标志,则消息类字符串采用 ANSI 格式。

l恩特利ID

[out]指向 lppEntryID 参数指向的条目标识符中的字节计数的指针。

lppEntryID

[out]指向指向所请求接收文件夹的条目标识符的指针的指针。

lppszExplicitClass

[out]指向邮件类的指针的指针,该邮件类将 lppEntryID 指向的文件夹显式设置为其接收文件夹。 此消息类应与 lpszMessageClass 参数中的 类相同,或该类的基类。 传递 NULL 表示 lppEntryID 指向的文件夹是邮件存储的默认接收文件夹。

返回值

S_OK

已成功返回接收文件夹。

备注

IMsgStore::GetReceiveFolder 方法获取接收文件夹的条目标识符,该文件夹指定用于接收特定邮件类的传入邮件。 调用方可以在 lpszMessageClass 参数中指定消息类或 NULL。 如果 lpszMessageClass 为 NULL, 则 GetReceiveFolder 返回以下值:

  • lppszExplicitClass 中, lpszMessageClass 指向的邮件类的第一个基类的名称,该类显式设置了接收文件夹。

  • lppEntryID 中, lppszExplicitClass 参数指向的基类的接收文件夹的条目标识符。

例如,假设邮件类 IPM 的接收文件夹 。注意 已设置为收件箱的条目标识符,并且 调用 GetReceiveFolder并将 lpszMessageClass 的内容设置为 IPM。Note.Phone。 如果 为 IPM。注意.Phone 未设置显式接收文件夹, GetReceiveFolder 返回 lppEntryID 和 IPM 中收件箱的条目标识符 。请注意lppszExplicitClass

如果客户端为邮件类调用 GetReceiveFolder ,并且尚未为该邮件类设置接收文件夹, 则 lppszExplicitClass 是零长度字符串、Unicode 格式的字符串或 ANSI 格式的字符串,具体取决于客户端是否在 ulFlags 参数中设置了 MAPI_UNICODE 标志。

通过传递 lpszMessageClass 参数中的 NULL 获取的默认接收文件夹始终存在于每个邮件存储区中。

当使用 lppEntryID 中返回的条目标识符完成时,客户端应调用 MAPIFreeBuffer 函数,以释放保存该条目标识符的内存。 当使用 lppszExplicitClass 中返回的消息类字符串时,它还应调用 MAPIFreeBuffer,以释放保存该字符串的内存。

MFCMAPI 引用

有关 MFCMAPI 示例代码,请参阅下表。

文件 函数 Comment
MAPIFunctions.cpp
GetInbox
MFCMAPI 使用 IMsgStore::GetReceiveFolder 方法查找收件箱文件夹。

另请参阅

MAPIFreeBuffer
IMsgStore:IMAPIPropMFCMAPI 作为代码示例