Compartir a través de


función DPA_Merge (dpa_dsa.h)

[DPA_Merge está disponible a través de Windows XP con Service Pack 2 (SP2). Es posible que se modifique o no esté disponible en versiones posteriores.

Combina el contenido de dos matrices de punteros dinámicos (DPA).

Sintaxis

BOOL DPA_Merge(
  [in, out] HDPA         hdpaDest,
  [in]      HDPA         hdpaSrc,
  [in]      DWORD        dwFlags,
  [in]      PFNDACOMPARE pfnCompare,
  [in]      PFNDPAMERGE  pfnMerge,
  [in]      LPARAM       lParam
);

Parámetros

[in, out] hdpaDest

Tipo: HDPA

Identificador del primer DPA. Opcionalmente, esta matriz puede ser presordeada. Cuando esta función vuelve, contiene el identificador de la matriz combinada.

[in] hdpaSrc

Tipo: HDPA

Identificador del segundo DPA. Opcionalmente, esta matriz puede ser presordeada.

[in] dwFlags

Tipo: DWORD

Opciones que determinan el método usado para combinar las dos matrices. DPAM_NORMAL, DPAM_UNION y DPAM_UNION son mutuamente excluyentes: solo se puede establecer una de esas marcas, opcionalmente junto con DPAM_SORTED.

Valor Significado
DPAM_SORTED
0x00000001
Las matrices se han ordenado previamente; omitir la ordenación. Si no se establece esta marca, las matrices se ordenan antes de combinarse.
DPAM_NORMAL
0x00000002
La matriz final consta de todos los elementos presentes originalmente en hdpaDest. Si alguno de esos elementos también se encuentra en hdpaSrc, esos elementos se combinan en la matriz final. Se llama a la función de devolución de llamada PFNDPAMERGE con el mensaje DPAMM_MERGE.

Cuando se establece esta marca, el tamaño final de la matriz en hdpaDest es el mismo que su tamaño inicial.

DPAM_UNION
0x00000004
La matriz final es la unión de todos los elementos de ambas matrices. Los elementos que se encuentran en ambas matrices se combinan en la matriz final. Los elementos que se encuentran en una sola matriz u otra se agregan como se encuentra. Cuando se establece esta marca, se puede llamar a la función de devolución de llamada PFNDPAMERGE con el mensaje DPAMM_MERGE o DPAMM_INSERT.

El tamaño final de la matriz es al menos el tamaño del mayor de hdpaDest y hdpaSrc, y como máximo la suma de los dos.

DPAM_INTERSECT
0x00000008
Solo se combinan los elementos que se encuentran en hdpaSrc y hdpaDest para formar la matriz final. Cuando se establece esta marca, se puede llamar a la función de devolución de llamada PFNDPAMERGE con el mensaje DPAMM_MERGE o DPAMM_DELETE.

El tamaño final de la matriz puede oscilar entre 0 y el menor de hdpaDest y hdpaSrc.

[in] pfnCompare

Tipo: PFNDPACOMPARE

Función de devolución de llamada PFNDPACOMPARE que compara dos elementos, uno de cada DPA, para determinar si son el mismo elemento. Si es así, se llama a la función de devolución de llamada a la que apunta pfnCompare .

[in] pfnMerge

Tipo: PFNDPAMERGE

Función de devolución de llamada PFNDPAMERGE que combina el contenido cuando se encuentra un elemento en las DPA y se encuentra en el mismo elemento por PFNDPACOMPARE.

[in] lParam

Tipo: LPARAM

Parámetro adicional utilizado para declarar la base de la comparación en la que se determina la igualdad.

Valor devuelto

Tipo: BOOL

TRUE si se realiza correctamente; de lo contrario, FALSE.

Comentarios

DPA_Merge no se exporta por nombre. Para usarlo, debe usar GetProcAddress y solicitar ordinal 11 desde ComCtl32.dll para obtener un puntero de función.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado dpa_dsa.h
Archivo DLL Comctl32.dll (versión 5.0 o posterior)