DPA_Merge 函式 (dpa_dsa.h)
[DPA_Merge 可透過 Windows XP 搭配 Service Pack 2 (SP2) 取得。 後續版本可能會改變或無法使用。
結合兩個動態指標陣列的內容, (DPA) 。
語法
BOOL DPA_Merge(
[in, out] HDPA hdpaDest,
[in] HDPA hdpaSrc,
[in] DWORD dwFlags,
[in] PFNDACOMPARE pfnCompare,
[in] PFNDPAMERGE pfnMerge,
[in] LPARAM lParam
);
參數
[in, out] hdpaDest
類型: HDPA
第一個 DPA 的句柄。 這個陣列可以選擇性地預先排序。 當此函式傳回時,會包含合併數位的句柄。
[in] hdpaSrc
類型: HDPA
第二個 DPA 的句柄。 這個陣列可以選擇性地預先排序。
[in] dwFlags
類型: DWORD
決定用來合併兩個陣列之方法的選項。 DPAM_NORMAL、DPAM_UNION和DPAM_UNION互斥—只有其中一個旗標可以設定,選擇性地與DPAM_SORTED一起使用。
值 | 意義 |
---|---|
|
陣列已預先排序;略過排序。 如果未設定此旗標,陣列會在合併之前排序。 |
|
最終陣列是由原本存在於 hdpaDest 中的所有元素所組成。 如果 hdpaSrc 中也找到任何這些元素,這些元素就會合併到最終陣列中。 使用DPAMM_MERGE訊息呼叫 PFNDPAMERGE 回呼函式。
設定此旗標時, hdpaDest 數位列的最終大小與其初始大小相同。 |
|
最後一個陣列是這兩個數位中所有項目的聯集。 這兩個陣列中找到的專案都會合併在最終陣列中。 只有一個陣列或另一個中找到的專案會如找到一樣新增。 設定此旗標時,可以使用DPAMM_MERGE或DPAMM_INSERT訊息呼叫 PFNDPAMERGE 回呼函式。
陣列的最終大小至少是較大 hdpaDest 和 hdpaSrc 的大小,以及兩者的最大總和。 |
|
只有 hdpaSrc 和 hdpaDest 中找到的項目會合併成最終陣列。 設定此旗標時,可以使用DPAMM_MERGE或DPAMM_DELETE訊息呼叫 PFNDPAMERGE 回呼函式。
陣列的最終大小可以介於 0 和較小的 hdpaDest 和 hdpaSrc 之間。 |
[in] pfnCompare
類型: PFNDPACOMPARE
比較兩個元素的 PFNDPACOMPARE 回呼函式,每個 DPA 各一個元素,以判斷它們是否相同專案。 如果是,則會呼叫 pfnCompare 所指向的回呼函式。
[in] pfnMerge
類型: PFNDPAMERGE
PFNDPAMERGE 回呼函式,會在 PFNDPACOMPARE 找到元素時合併內容,且找到為 PFNDPACOMPARE 的相同專案。
[in] lParam
類型: LPARAM
用來宣告判斷相等比較基礎的其他參數。
傳回值
類型: BOOL
如果 成功,則為TRUE;否則為 FALSE。
備註
DPA_Merge 未依名稱匯出。 若要使用它,您必須使用 GetProcAddress ,並從 ComCtl32.dll 要求序數 11 來取得函式指標。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | dpa_dsa.h |
Dll | Comctl32.dll (5.0 版或更新版本) |