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 в качестве примера кода