IMSLogon::OpenEntry
Область применения: Outlook 2013 | Outlook 2016
Открывает объект папки или сообщения и возвращает указатель на объект для предоставления дальнейшего доступа.
HRESULT OpenEntry(
ULONG cbEntryID,
LPENTRYID lpEntryID,
LPCIID lpInterface,
ULONG ulOpenFlags,
ULONG FAR * lpulObjType,
LPUNKNOWN FAR * lppUnk
);
Параметры
cbEntryID
[в] Размер (в байтах) идентификатора записи, на который указывает параметр lpEntryID .
lpEntryID
[в] Указатель на адрес идентификатора записи открываемой папки или объекта сообщения.
lpInterface
[в] Указатель на идентификатор интерфейса (IID) для объекта . Передача NULL означает, что объект приводится к стандартному интерфейсу для такого объекта. Параметру lpInterface также можно задать идентификатор соответствующего интерфейса для объекта .
ulOpenFlags
[в] Битовая маска флагов, управляющая способом открытия объекта. Можно задать следующие флаги:
MAPI_BEST_ACCESS
Объект должен быть открыт с максимальными разрешениями, разрешенными для пользователя, и максимальными разрешениями клиентского приложения. Например, если клиент имеет разрешение на чтение и запись, объект открывается с разрешением на чтение и запись; Если клиент имеет разрешение только для чтения, объект открывается с разрешением только для чтения. Клиент может получить уровень разрешений, получив свойство PR_ACCESS_LEVEL (PidTagAccessLevel).
MAPI_DEFERRED_ERRORS
Вызов может завершиться успешно, даже если базовый объект недоступен вызывающему приложению. Если объект недоступен, последующий вызов объекта может вернуть ошибку.
MAPI_MODIFY
Запрашивает разрешение на чтение и запись. По умолчанию объекты создаются с разрешением только для чтения, и клиенты не должны работать при условии, что было предоставлено разрешение на чтение и запись.
lpulObjType
[out] Указатель на тип открытого объекта.
lppUnk
[out] Указатель на указатель на открытый объект.
Возвращаемое значение
S_OK
����� ������� � ������ ��������� ��������� ��� ��������.
Замечания
MAPI вызывает метод IMSLogon::OpenEntry , чтобы открыть папку или сообщение в хранилище сообщений. MAPI передает идентификатор записи открываемого объекта. Поставщик хранилища сообщений должен вернуть указатель, который обеспечивает дополнительный доступ к объекту, указанному в параметре lppUnk .
Перед вызовом IMSLogon::OpenEntry MAPI сначала определяет, что заданный идентификатор сообщения или записи папки соответствует идентификатору, зарегистрированном этим поставщиком хранилища сообщений. Дополнительные сведения о том, как поставщики хранилища регистрируют идентификаторы входа, см. в разделе IMAPISupport::SetProviderUID.
IMSLogon::OpenEntry идентичен методу IMsgStore::OpenEntry объекта хранилища сообщений, за исключением того, что клиент не вызывает IMSLogon::OpenEntry; MAPI вызывает IMSLogon::OpenEntry при обработке метода IMAPISession::OpenEntry . Объекты, открытые с помощью IMSLogon::OpenEntry , должны обрабатываться точно так же, как и объекты, открытые с помощью объекта хранилища сообщений; в частности, объекты, открытые с помощью этого вызова, должны быть признаны недействительными при освобождении объекта хранилища сообщений.