Share via


Função DPA_Merge (dpa_dsa.h)

[DPA_Merge está disponível por meio do Windows XP com Service Pack 2 (SP2). Ele pode estar alterado ou indisponível em versões subsequentes.]

Combina o conteúdo de duas DPAs (matrizes de ponteiro dinâmico).

Sintaxe

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

Um identificador para o primeiro DPA. Essa matriz pode ser opcionalmente pré-selecionada. Quando essa função retorna, contém o identificador para a matriz mesclada.

[in] hdpaSrc

Tipo: HDPA

Um identificador para o segundo DPA. Essa matriz pode ser opcionalmente pré-selecionada.

[in] dwFlags

Tipo: DWORD

Opções que determinam o método usado para mesclar as duas matrizes. DPAM_NORMAL, DPAM_UNION e DPAM_UNION são mutuamente exclusivos— apenas um desses sinalizadores pode ser definido, opcionalmente em conjunto com DPAM_SORTED.

Valor Significado
DPAM_SORTED
0x00000001
As matrizes são pré-selecionadas; ignorar a classificação. Se esse sinalizador não estiver definido, as matrizes serão classificadas antes de serem mescladas.
DPAM_NORMAL
0x00000002
A matriz final consiste em todos os elementos originalmente presentes no hdpaDest. Se algum desses elementos também for encontrado no hdpaSrc, esses elementos serão mesclados na matriz final. A função de retorno de chamada PFNDPAMERGE é chamada com a mensagem DPAMM_MERGE.

Quando esse sinalizador é definido, o tamanho final da matriz em hdpaDest é o mesmo que seu tamanho inicial.

DPAM_UNION
0x00000004
A matriz final é a união de todos os elementos em ambas as matrizes. Os elementos encontrados em ambas as matrizes são mesclados na matriz final. Os elementos encontrados em apenas uma matriz ou outra são adicionados conforme encontrado. Quando esse sinalizador é definido, a função de retorno de chamada PFNDPAMERGE pode ser chamada com a mensagem DPAMM_MERGE ou DPAMM_INSERT.

O tamanho final da matriz é pelo menos o tamanho do maior de hdpaDest e hdpaSrc e, no máximo, a soma dos dois.

DPAM_INTERSECT
0x00000008
Somente os elementos encontrados em hdpaSrc e hdpaDest são mesclados para formar a matriz final. Quando esse sinalizador é definido, a função de retorno de chamada PFNDPAMERGE pode ser chamada com a mensagem DPAMM_MERGE ou DPAMM_DELETE.

O tamanho final da matriz pode variar entre 0 e o menor de hdpaDest e hdpaSrc.

[in] pfnCompare

Tipo: PFNDPACOMPARE

A função de retorno de chamada PFNDPACOMPARE que compara dois elementos, um de cada DPA, para determinar se eles são o mesmo item. Nesse caso, a função de retorno de chamada apontada por pfnCompare é chamada.

[in] pfnMerge

Tipo: PFNDPAMERGE

A função de retorno de chamada PFNDPAMERGE que mescla o conteúdo quando um elemento é encontrado em ambos os DPAs e é encontrado como o mesmo item por PFNDPACOMPARE.

[in] lParam

Tipo: LPARAM

Parâmetro adicional usado para declarar a base da comparação sobre a qual a igualdade é determinada.

Retornar valor

Tipo: BOOL

TRUE se tiver êxito; caso contrário, FALSE.

Comentários

DPA_Merge não é exportado por nome. Para usá-lo, você deve usar GetProcAddress e solicitar o ordinal 11 de ComCtl32.dll para obter um ponteiro de função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho dpa_dsa.h
DLL Comctl32.dll (versão 5.0 ou posterior)