共用方式為


IMAPISupport::Address

適用於:Outlook 2013 |Outlook 2016

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

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

參數

lpulUIParam

[in, out]對話框之父視窗句柄的指標。 在輸入時,必須一律傳遞視窗句柄。 在輸出上,如果在 lpAdrParms 參數所指向的 ADRPARM 結構中設定DIALOG_SDI旗標,則會傳回非模式對話框的視窗句柄。

lpAdrParms

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

lppAdrList

[in, out]地址清單指標的指標。 在輸入時,此清單是郵件中目前的收件者清單,如果沒有這類清單,則為 NULL。 在輸出中, lppAdrList 會指向已更新的郵件收件者清單。

傳回值

S_OK

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

註解

針對通訊簿提供者支持對象實作 IMAPISupport::Address 方法。 通訊錄提供者呼叫 Address 來建立或更新郵件收件者清單。

每個收件者都會在ADRENTRY結構中描述,該結構包含在 lppAdrList 參數所指向的 ADRLIST 結構中。 ADRENTRY 結構包含收件者屬性值的數位,其中一個是收件者的類型,或PR_RECIPIENT_TYPE (PidTagRecipientType) 屬性。 此 ADRLIST 結構可以傳遞給用戶端,以在呼叫 IMessage::ModifyRecipients 時作為 lpMods 參數使用。

ADRLIST 結構中的每個收件者都可以解析,這表示其其中一個屬性值是其PR_ENTRYID (PidTagEntryId) 屬性,或是無法解析,表示遺漏PR_ENTRYID屬性。

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

無法解析的收件者通常只包含 PR_DISPLAY_NAMEPR_RECIPIENT_TYPE

呼叫者注意事項

呼叫端傳入的 ADRLIST 結構可能與 MAPI 傳回的結構不同。 當您為 ADRLIST 結構配置記憶體時,請個別配置每個 SPropValue 結構的 記憶體。

使用傳入至 ABProviderInit 函式的 MAPI 記憶體配置函式指標來設定記憶體。 使用MAPIAllocateBuffer函式為ADRLIST配置記憶體,並在 ADRLISTADRENTRY結構中設定每個屬性值結構。

如果 Address 必須傳回較大的 ADRLIST 結構,或是您已針對 lppAdrList 傳遞 NULL, 則 Address 會釋放原始結構並配置新的結構。 Address 也會在 ADRLIST 結構中配置其他屬性值結構,並適當釋放舊的屬性值結構。 如需如何針對 ADRLIST 結構管理記憶體的詳細資訊,請參閱 管理 ADRLIST 和 SRowSet 結構的記憶體

如果在 lpAdrParms 參數的 ADRPARM 結構中設定DIALOG_SDI旗標,則位址會立即傳回。

另請參閱

ABProviderInit
ADRENTRY
ADRLIST
ADRPARM
FreePadrlist
FreeProws
IMAPISupport::GetMemAllocRoutines
IMAPITable::QueryRows
IMessage::ModifyRecipients
MAPIAllocateBuffer
MAPIAllocateMore
MAPIFreeBuffer
PidTagAddressType Canonical 屬性
PidTagDisplayName Canonical 屬性
PidTagDisplayType Canonical 屬性
PidTagEntryId Canonical 屬性
PidTagRecipientType Canonical 屬性
SPropValue
SRowSet
IMAPISupport:IUnknown管理 ADRLIST 和 SRowSet 結構的記憶體