共用方式為


IAddrBook::Address

適用於:Outlook 2013 |Outlook 2016

顯示 Outlook 通訊簿對話框。

HRESULT Address(
  ULONG_PTR FAR * lpulUIParam,
  LPADRPARM lpAdrParms,
  LPADRLIST FAR * lppAdrList
);

參數

lpulUIParam

[in, out]對話框之父視窗句柄的指標。 在輸入時,必須一律傳遞視窗句柄。 在輸出上,如果 lpAdrParms 參數的 ulFlags 成員設定為 DIALOG_SDI,則會傳回非模式對話框的視窗句柄。 請參閱<備註>。

lpAdrParms

[in, out] ADRPARM 結構的指標,可控制位址對話框的呈現和行為。

lppAdrList

[in, out]包含收件者資訊 之 ADRLIST 結構指標的指標。 在輸入時,此參數可以是 NULL 或指向有效的指標。 在輸出時,此參數會指向有效收件者資訊的指標。

傳回值

S_OK

已成功顯示 [一般位址] 對話框。

註解

如果 lpAdrParms 參數的 ulFlags 成員設定為DIALOG_SDI預期在輸出上傳回非模式對話框的視窗句柄,則會在 Outlook 中忽略它;對話框的強制回應版本一律會顯示在非 Outlook 用戶端中。

MAPI 透過 lppAdrList 參數傳回給呼叫者的 ADRLIST 結構包含 ADRENTRY 結構的數位,每個收件者各一個結構。 在 lpMods 參數中傳遞至傳出訊息的 IMessage::ModifyRecipients 方法時,可以使用 ADRLIST 結構來更新其收件者清單。

ADRLIST 結構中的每個 ADRENTRY 結構都包含零個或多個 SPropValue 結構,每個為收件者設定的屬性都有一個結構。 當 Address 方法所呈現的對話框用來移除收件者時,可以有零個 SPropValue 結構。 當有一或多個 SPropValue 結構時,會使用對應的 ADRENTRY 結構來新增或更新收件者。 可以解析收件者,這表示其中一個 SPropValue 結構描述收件者的 PR_ENTRYID (PidTagEntryId) 屬性,或未解析,表示 遺漏PR_ENTRYID 屬性。

除了 PR_ENTRYID,已解析的收件者還包含下列屬性:

呼叫端傳入的 ADRLIST 結構可能與 MAPI 傳回的結構不同。 如果MAPI必須傳回較大的 ADRLIST 結構,則會釋放原始結構並配置新的結構。 當您為 ADRLIST 結構配置記憶體時,請個別配置每個 SPropValue 結構的 記憶體。 如需如何配置和釋放 ADRLIST 結構的詳細資訊,請 參閱管理 ADRLIST 和 SRowSet 結構的記憶體

如果在 lpAdrParms 參數中 ADRPARM 結構的 ulFlags 成員中設定DIALOG_SDI旗標,則 Address 會立即傳回。 非 Outlook 用戶端會忽略DIALOG_SDI旗標。 如果忽略DIALOG_SDI,則會顯示對話框的強制回應版本,且在 lpulUIParam 中不應該預期句柄的指標。

如果在 lpAdrParms 參數的 ADRPARM的 ulFlags 成員中指定AB_UNICODEUI,則 Address 支援 ADRPARM 結構中的 Unicode 字符字串,而且它支援 ADRLIST 中的 Unicode 字符字串。 Unicode 字串會轉換成多位元組位元元字串, (MBCS) 格式,然後才會顯示在 Outlook 通訊簿對話框中。

MFCMAPI 參考

如需 MFCMAPI 範例程式代碼,請參閱下表。

檔案 Function Comment
MAPIStoreFunctions.cpp
OpenOtherUsersMailboxFromGal
MFCMAPI 會使用 Address 方法,讓用戶選取要開啟的信箱。

另請參閱

ADRENTRY

ADRLIST

ADRPARM

FreePadrlist

FreeProws

IMAPITable::QueryRows

IMessage::ModifyRecipients

MAPIAllocateBuffer

MAPIAllocateMore

MAPIFreeBuffer

SPropValue

SRowSet

IAddrBook:IMAPIProp

MFCMAPI 作為程式碼範例

MFCMAPI 作為程式碼範例