IMsgStore::GetReceiveFolder
適用於:Outlook 2013 |Outlook 2016
取得已建立為指定訊息類別之傳入訊息目的地的資料夾,或作為訊息存放區的預設接收資料夾。
HRESULT GetReceiveFolder(
LPSTR lpszMessageClass,
ULONG ulFlags,
ULONG FAR * lpcbEntryID,
LPENTRYID FAR * lppEntryID,
LPSTR FAR * lppszExplicitClass
);
參數
lpszMessageClass
[in]與接收資料夾相關聯之訊息類別的指標。 如果 lpszMessageClass 參數設定為 NULL 或空字串, GetReceiveFolder 會傳回訊息存放區的預設接收資料夾。
ulFlags
[in]旗標的位掩碼,控制傳入和傳回字串的類型。 您可以設定下列旗標:
MAPI_UNICODE
訊息類別字串是 Unicode 格式。 如果未設定MAPI_UNICODE旗標,訊息類別字串會是 ANSI 格式。
lpcbEntryID
[out] lppEntryID 參數所指向之專案標識碼中位元組計數的指標。
lppEntryID
[out]指向所要求接收資料夾之專案標識碼的指標。
lppszExplicitClass
[out]訊息類別指標的指標,明確設定為 lppEntryID 所指向資料夾的接收資料夾。 這個訊息類別應該與 lpszMessageClass 參數中的 類別相同,或是該類別的基類。 傳遞 NULL 表示 lppEntryID 所指向的資料夾是訊息存放區的預設接收資料夾。
傳回值
S_OK
已成功傳回接收資料夾。
註解
IMsgStore::GetReceiveFolder 方法會取得接收資料夾的專案標識碼,這是指定用來接收特定訊息類別之傳入訊息的資料夾。 呼叫端可以在 lpszMessageClass 參數中指定訊息類別或 NULL。 如果 lpszMessageClass 為 NULL,GetReceiveFolder 會 傳回下列值:
在 lppszExplicitClass 中, lpszMessageClass 所指向之訊息類別的第一個基類名稱會明確設定接收資料夾。
在 lppEntryID 中, lppszExplicitClass 參數所指向基類之接收資料夾的專案標識碼。
例如,假設訊息類別 IPM 的接收資料夾 。附注 已設定為收件匣的專案標識符,並呼叫 GetReceiveFolder ,並將 lpszMessageClass 的內容設定為 IPM。Note.Phone。 如果 是 IPM。注意.Phone 未設定明確的接收資料夾, GetReceiveFolder 會傳回 lppEntryID 和 IPM 中 [收件匣] 的項目標識碼 。lppszExplicitClass 中的附注。
如果客戶端針對訊息類別呼叫 GetReceiveFolder ,但尚未設定該訊息類別的接收資料夾, 則 lppszExplicitClass 會是長度為零的字串、Unicode 格式的字元串,或是 ANSI 格式的字串,視用戶端是否在 ulFlags 參數中設定MAPI_UNICODE旗標而定。
在 lpszMessageClass 參數中傳遞 NULL 所取得的預設接收資料夾,一律存在於每個訊息存放區中。
客戶端應該在使用 lppEntryID 中傳回的專案識別碼完成時呼叫 MAPIFreeBuffer 函式,以釋放保留該專案識別碼的記憶體。 當 MAPIFreeBuffer 使用 lppszExplicitClass 中傳回的訊息類別字串完成時,也應該呼叫 MAPIFreeBuffer,以釋放保存該字串的記憶體。
MFCMAPI 參考
如需 MFCMAPI 範例程式代碼,請參閱下表。
檔案 | Function | Comment |
---|---|---|
MAPIFunctions.cpp |
GetInbox |
MFCMAPI 使用 IMsgStore::GetReceiveFolder 方法來尋找 [收件匣] 資料夾。 |