IAddrBook::NewEntry
適用於:Outlook 2013 |Outlook 2016
將新的收件者新增至通訊簿容器或外寄郵件的收件者清單。
HRESULT NewEntry(
ULONG_PTR ulUIParam,
ULONG ulFlags,
ULONG cbEIDContainer,
LPENTRYID lpEIDContainer,
ULONG cbEIDNewEntryTpl,
LPENTRYID lpEIDNewEntryTpl,
ULONG FAR * lpcbEIDNewEntry,
LPENTRYID FAR * lppEIDNewEntry
);
參數
ulUIParam
[in]對話框之父視窗的句柄。
ulFlags
[in]旗標的位掩碼,控制所使用的文字類型。 您可以設定下列旗標:
MAPI_UNICODE
傳入的字串是 Unicode 格式。 如果未設定MAPI_UNICODE旗標,則字串會是 ANSI 格式。
cbEIDContainer
[in] lpEIDContainer 參數所指向之專案標識碼中的位元組計數。
lpEIDContainer
[in]要加入新收件者之容器項目標識碼的指標。 如果 cbEIDContainer 參數為零, NewEntry 方法會傳回收件者專案標識碼和範本清單,就像呼叫 IAddrBook::CreateOneOff 方法一樣。
cbEIDNewEntryTpl
[in] lpEIDNewEntryTpl 參數所指向之專案標識符中的位元組計數。
lpEIDNewEntryTpl
[in]將用來建立新收件者之一次性範本的指標。 如果 cbEIDNewEntryTpl 為零,且 lpEIDNewEntryTpl 為 NULL,NewEntry 會顯示對話框,讓使用者可以從範本清單中選取以新增專案。
lpcbEIDNewEntry
[out] lppEIDNewEntry 參數所指向之專案標識符中位元組計數的指標。
lppEIDNewEntry
[out]指向新收件者項目標識碼之指標。
傳回值
S_OK
已成功建立新的通訊簿專案。
註解
NewEntry 方法會建立新的通訊簿專案,以直接新增至容器,或用來處理傳出訊息。
呼叫者注意事項
如果您想要將新專案新增至特定容器,請將 lpEIDContainer 設定為容器的專案識別碼,並將 cbEIDContainer 設定為專案標識碼中的位元組計數。
如果您想要將新專案新增至傳出郵件的收件者清單,請將 lpEIDContainer 設定為 NULL,並將 cbEIDContainer 設定為零。
如果您想要允許用戶端應用程式的用戶選取要建立的項目類型,請在 cbEIDNewEntryTpl 中傳遞零,在 lpEIDNewEntryTpl 中傳遞 NULL。 NewEntry 方法會顯示MAPI一次性數據表、MAPI所支援的範本清單,以及會話中每個通訊簿提供者所支援的範本清單。 每個範本都可以為一或多個位址類型建立收件者專案。
如果您想要保留新專案的專案標識符,請在 lpcbEIDNewEntry 和 lppEIDNewEntry 參數中傳遞有效的指標。 當您透過呼叫 MAPIFreeBuffer 函式完成此項目識別碼時,您必須負責釋放此項目識別碼。
若要使用特定範本將新專案新增至可修改的容器,請使用下列程式:
呼叫 IMAPISession::OpenEntry 方法來開啟目的地容器,並將 lpEntryID 參數設定為容器的專案識別碼。
呼叫目的地容器的 IMAPIProp::OpenProperty 方法,並將 ulPropTag 參數設定為 PR_CREATE_TEMPLATES (PidTagCreateTemplates) ,並將 lpiid 參數設定為 IID_IMAPITable。 容器會傳回一次性數據表,其中列出它支援建立新專案的所有範本。
擷取數據列,代表您想要建立之特定項目類型的範本。 PR_ADDRTYPE (PidTagAddressType) 資料行會指出範本支援的地址類型。
呼叫 NewEntry 方法,並將 lpEIDNewEntryTpl 設定為所選範本的專案標識碼。 專案標識碼會是 來自一 次性數據表中範本數據列的 PR_ENTRYID (PidTagEntryId) 數據行。 在 cbEIDContainer 中傳遞零,在 lpEIDContainer 中傳遞 NULL。 如果您想要保留新專案的項目標識碼,請在 lppEIDNewEntry 參數中傳遞有效的指標。