Поделиться через


IMsgStore::GetReceiveFolder

Область применения: Outlook 2013 | Outlook 2016

Получает папку, которая была установлена в качестве назначения для входящих сообщений указанного класса сообщений или в качестве папки получения по умолчанию для хранилища сообщений.

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

Параметры

lpszMessageClass

[в] Указатель на класс сообщения, связанный с папкой получения. Если для параметра lpszMessageClass задано значение NULL или пустая строка, getReceiveFolder возвращает папку получения по умолчанию для хранилища сообщений.

ulFlags

[в] Битовая маска флагов, управляющая типом передаваемых и возвращаемых строк. Можно задать следующий флаг:

MAPI_UNICODE

Строка класса сообщения имеет формат Юникода. Если флаг MAPI_UNICODE не задан, строка класса сообщения имеет формат ANSI.

lpcbEntryID

[out] Указатель на число байтов в идентификаторе записи, на который указывает параметр lppEntryID .

lppEntryID

[out] Указатель на указатель на идентификатор записи для запрошенной папки получения.

lppszExplicitClass

[out] Указатель на указатель на класс сообщения, который явно задает в качестве папки получения папку, на которую указывает lppEntryID. Этот класс сообщений должен совпадать с классом в параметре lpszMessageClass или базовым классом этого класса. Передача NULL означает, что папка, на которую указывает lppEntryID , является папкой получения по умолчанию для хранилища сообщений.

Возвращаемое значение

S_OK

Папка получения успешно возвращена.

Замечания

Метод IMsgStore::GetReceiveFolder получает идентификатор записи папки получения, папки, предназначенной для получения входящих сообщений определенного класса сообщений. Вызывающие могут указать класс сообщения или NULL в параметре lpszMessageClass . Если lpszMessageClass имеет значение NULL, GetReceiveFolder возвращает следующие значения:

  • В lppszExplicitClass — имя первого базового класса класса сообщения, на который указывает lpszMessageClass , который явно задает папку получения.

  • В lppEntryID — идентификатор записи папки receive для базового класса, на который указывает параметр lppszExplicitClass .

Например, предположим, что папка receive класса сообщений IPM. Примечание задан идентификатор записи папки "Входящие", а метод GetReceiveFolder вызывается с содержимым lpszMessageClass , равным IPM. Примечание.Телефон. Если IPM. Примечание. Телефон не имеет явного набора папок получения. GetReceiveFolder возвращает идентификатор записи папки "Входящие" в lppEntryID и IPM. Примечание в lppszExplicitClass.

Если клиент вызывает GetReceiveFolder для класса сообщения и не задал папку получения для этого класса сообщения, lppszExplicitClass — это строка нулевой длины, строка в формате Юникода или строка в формате ANSI в зависимости от того, задал клиент флаг MAPI_UNICODE в параметре ulFlags .

Папка получения по умолчанию, полученная путем передачи NULL в параметре lpszMessageClass , всегда существует для каждого хранилища сообщений.

Клиент должен вызвать функцию MAPIFreeBuffer по завершении с идентификатором записи, возвращенным в lppEntryID , чтобы освободить память, содержащую этот идентификатор записи. Он также должен вызывать MAPIFreeBuffer , когда выполняется с строкой класса сообщения, возвращенной в lppszExplicitClass , чтобы освободить память, содержащую такую строку.

Справочные материалы по MFCMAPI

Пример кода MFCMAPI указан в приведенной ниже таблице.

Файл Функция Comment
MAPIFunctions.cpp
GetInbox
MFCMAPI использует метод IMsgStore::GetReceiveFolder для поиска папки "Входящие".

См. также

MAPIFreeBuffer
IMsgStore: IMAPIPropMFCMAPI в качестве примера кода