다음을 통해 공유


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 함께 설정할 수 있습니다.

의미
DPAM_SORTED
0x00000001
배열은 미리 정렬됩니다. 정렬을 건너뜁니다. 이 플래그를 설정하지 않으면 배열이 병합되기 전에 정렬됩니다.
DPAM_NORMAL
0x00000002
최종 배열은 원래 hdpaDest에 있는 모든 요소로 구성됩니다. 이러한 요소가 hdpaSrc에도 있는 경우 해당 요소는 최종 배열에서 병합됩니다. PFNDPAMERGE 콜백 함수는 DPAMM_MERGE 메시지와 함께 호출됩니다.

이 플래그가 설정되면 hdpaDest 에서 배열의 최종 크기는 초기 크기와 동일합니다.

DPAM_UNION
0x00000004
마지막 배열은 두 배열에 있는 모든 요소의 합합입니다. 두 배열에서 찾은 요소는 최종 배열에서 병합됩니다. 한 배열 또는 다른 배열에 있는 요소는 찾은 대로 추가됩니다. 이 플래그가 설정되면 DPAMM_MERGE 또는 DPAMM_INSERT 메시지를 사용하여 PFNDPAMERGE 콜백 함수를 호출할 수 있습니다.

배열의 최종 크기는 적어도 hdpaDesthdpaSrc의 더 큰 크기이며, 최대 두 가지의 합계입니다.

DPAM_INTERSECT
0x00000008
hdpaSrchdpaDest 모두에 있는 요소만 병합되어 최종 배열을 형성합니다. 이 플래그가 설정되면 DPAMM_MERGE 또는 DPAMM_DELETE 메시지를 사용하여 PFNDPAMERGE 콜백 함수를 호출할 수 있습니다.

배열의 최종 크기는 0에서 더 작은 hdpaDesthdpaSrc 사이의 범위를 지정할 수 있습니다.

[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 이상)