Share via


funzione DPA_Merge (dpa_dsa.h)

[DPA_Merge è disponibile tramite Windows XP con Service Pack 2 (SP2). Potrebbe essere modificato o non disponibile nelle versioni successive.

Combina il contenuto di due matrici del puntatore dinamico (DPA).

Sintassi

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

Parametri

[in, out] hdpaDest

Tipo: HDPA

Handle al primo DPA. Questa matrice può essere facoltativamente presorted. Quando questa funzione restituisce, contiene l'handle della matrice unita.

[in] hdpaSrc

Tipo: HDPA

Handle al secondo DPA. Questa matrice può essere facoltativamente presorted.

[in] dwFlags

Tipo: DWORD

Opzioni che determinano il metodo usato per unire le due matrici. DPAM_NORMAL, DPAM_UNION e DPAM_UNION si escludono a vicenda, solo uno di questi flag può essere impostato, facoltativamente insieme a DPAM_SORTED.

Valore Significato
DPAM_SORTED
0x00000001
Le matrici sono preserted; ignorare l'ordinamento. Se questo flag non è impostato, le matrici vengono ordinate prima che vengano unite.
DPAM_NORMAL
0x00000002
La matrice finale è costituita da tutti gli elementi originariamente presenti in hdpaDest. Se uno di questi elementi viene trovato anche in hdpaSrc, questi elementi vengono uniti nella matrice finale. La funzione di callback PFNDPAMERGE viene chiamata con il messaggio di DPAMM_MERGE.

Quando questo flag viene impostato, le dimensioni finali della matrice in hdpaDest sono uguali alle dimensioni iniziali.

DPAM_UNION
0x00000004
La matrice finale è l'unione di tutti gli elementi in entrambe le matrici. Gli elementi trovati in entrambe le matrici vengono uniti nella matrice finale. Gli elementi trovati in una sola matrice o nell'altro vengono aggiunti come trovato. Quando questo flag è impostato, la funzione di callback PFNDPAMERGE può essere chiamata con il messaggio di DPAMM_MERGE o DPAMM_INSERT.

La dimensione finale della matrice è almeno la dimensione della dimensione superiore di hdpaDest e hdpaSrc e alla maggior parte della somma dei due.

DPAM_INTERSECT
0x00000008
Solo gli elementi trovati in hdpaSrc e hdpaDest vengono uniti per formare la matrice finale. Quando questo flag è impostato, la funzione di callback PFNDPAMERGE può essere chiamata con il messaggio di DPAMM_MERGE o DPAMM_DELETE.

Le dimensioni finali della matrice possono essere comprese tra 0 e le dimensioni inferiori di hdpaDest e hdpaSrc.

[in] pfnCompare

Tipo: PFNDPACOMPARE

Funzione di callback PFNDPACOMPARE che confronta due elementi, uno da ogni DPA, per determinare se sono lo stesso elemento. In tal caso, viene chiamata la funzione callback puntata da pfnCompare .

[in] pfnMerge

Tipo: PFNDPAMERGE

La funzione di callback PFNDPAMERGE che unisce il contenuto quando si trova un elemento in entrambi i dpA e viene trovato lo stesso elemento di PFNDPACOMPARE.

[in] lParam

Tipo: LPARAM

Parametro aggiuntivo utilizzato per dichiarare la base del confronto in base al quale viene determinata l'uguaglianza.

Valore restituito

Tipo: BOOL

TRUE se ha esito positivo; in caso contrario, FALSE.

Commenti

DPA_Merge non viene esportato in base al nome. Per usarlo, è necessario usare GetProcAddress e richiedere ordinale 11 da ComCtl32.dll per ottenere un puntatore alla funzione.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione dpa_dsa.h
DLL Comctl32.dll (versione 5.0 o successiva)