DPA_Merge 함수(dpa_dsa.h)
[DPA_Merge SP2(서비스 팩 2)가 있는 Windows XP를 통해 사용할 수 있습니다. 이후 버전에서는 변경되거나 사용하지 못할 수 있습니다.]
두 DBA(동적 포인터 배열)의 내용을 결합합니다.
구문
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에도 있는 경우 해당 요소는 최종 배열에서 병합됩니다.
PFNDPAMERGE 콜백 함수는 DPAMM_MERGE 메시지와 함께 호출됩니다.
이 플래그가 설정되면 hdpaDest 에서 배열의 최종 크기는 초기 크기와 동일합니다. |
|
마지막 배열은 두 배열에 있는 모든 요소의 합합입니다. 두 배열에서 찾은 요소는 최종 배열에서 병합됩니다. 한 배열 또는 다른 배열에 있는 요소는 찾은 대로 추가됩니다. 이 플래그가 설정되면 DPAMM_MERGE 또는 DPAMM_INSERT 메시지를 사용하여 PFNDPAMERGE 콜백 함수를 호출할 수 있습니다.
배열의 최종 크기는 적어도 hdpaDest 및 hdpaSrc의 더 큰 크기이며, 최대 두 가지의 합계입니다. |
|
hdpaSrc와 hdpaDest 모두에 있는 요소만 병합되어 최종 배열을 형성합니다. 이 플래그가 설정되면 DPAMM_MERGE 또는 DPAMM_DELETE 메시지를 사용하여 PFNDPAMERGE 콜백 함수를 호출할 수 있습니다.
배열의 최종 크기는 0에서 더 작은 hdpaDest 및 hdpaSrc 사이의 범위를 지정할 수 있습니다. |
[in] pfnCompare
형식: PFNDPACOMPARE
각 DPA에서 하나씩 두 요소를 비교하여 동일한 항목인지 여부를 확인하는 PFNDPACOMPARE 콜백 함수입니다. 그렇다면 pfnCompare 가 가리키는 콜백 함수가 호출됩니다.
[in] pfnMerge
형식: PFNDPAMERGE
요소가 두 DPA 모두에서 발견되고 PFNDPACOMPARE 에서 동일한 항목으로 발견될 때 콘텐츠를 병합하는 PFNDPAMERGE 콜백 함수입니다.
[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 이상) |