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


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 , должны обрабатываться точно так же, как и объекты, открытые с помощью объекта хранилища сообщений; в частности, объекты, открытые с помощью этого вызова, должны быть признаны недействительными при освобождении объекта хранилища сообщений.

См. также

IMAPISupport::SetProviderUID

IMsgStore::OpenEntry

IMSLogon : IUnknown