IMSLogon::OpenEntry
適用於:Outlook 2013 |Outlook 2016
開啟資料夾或訊息物件,並傳回 物件的指標,以提供進一步的存取權。
HRESULT OpenEntry(
ULONG cbEntryID,
LPENTRYID lpEntryID,
LPCIID lpInterface,
ULONG ulOpenFlags,
ULONG FAR * lpulObjType,
LPUNKNOWN FAR * lppUnk
);
參數
cbEntryID
[in] lpEntryID 參數所指向之專案標識碼的大小,以位元組為單位。
lpEntryID
[in]要開啟之資料夾或訊息物件之專案標識碼的位址指標。
lpInterface
[in]物件之 IID) (介面識別碼的指標。 傳遞 NULL 表示物件會轉換成這類對象的標準介面。 lpInterface 參數也可以設定為對象適當介面的標識碼。
ulOpenFlags
[in]控制物件開啟方式的旗標位掩碼。 您可以設定下列旗標:
MAPI_BEST_ACCESS
對象應該以用戶允許的最大許可權和最大用戶端應用程式許可權開啟。 例如,如果用戶端具有讀取/寫入許可權,則會以讀取/寫入許可權開啟物件;如果用戶端具有唯讀許可權,則會以唯讀許可權開啟物件。 用戶端可以藉由取得 PR_ACCESS_LEVEL (PidTagAccessLevel) 屬性來擷取許可權等級。
MAPI_DEFERRED_ERRORS
即使呼叫的應用程式無法使用基礎物件,呼叫仍可成功。 如果對象無法使用,後續對物件的呼叫可能會傳回錯誤。
MAPI_MODIFY
要求讀取/寫入許可權。 根據預設,物件是以唯讀許可權建立,而用戶端不應在已授與讀取/寫入許可權的假設下運作。
lpulObjType
[out]開啟之物件類型的指標。
lppUnk
[out]指向已開啟物件之指標的指標。
傳回值
S_OK
呼叫成功,並傳回預期的值。
註解
MAPI 會呼叫 IMSLogon::OpenEntry 方法來開啟郵件存放區中的資料夾或訊息。 MAPI 會傳入要開啟之物件的專案標識碼。 訊息存放區提供者應該傳回指標,以便進一步存取 lppUnk 參數中指定的物件。
在MAPI呼叫 IMSLogon::OpenEntry之前,它會先判斷指定的訊息或資料夾專案識別元符合此訊息存放區提供者所註冊的訊息或資料夾專案標識符。 如需存放區提供者如何註冊專案標識碼的詳細資訊,請參閱 IMAPISupport::SetProviderUID。
IMSLogon::OpenEntry 與訊息存放區物件的 IMsgStore::OpenEntry 方法相同,不同之處在於用戶端不會呼叫 IMSLogon::OpenEntry;MAPI 會在處理 IMAPISession ::OpenEntry 方法時呼叫 IMSLogon::OpenEntry 。 使用 IMSLogon::OpenEntry 開啟的對象應該與使用訊息存放區對象開啟的物件完全相同;特別是,當訊息存放區物件釋放時,使用此呼叫開啟的對象應該會失效。