DPA_Merge-Funktion (dpa_dsa.h)
[DPA_Merge ist über Windows XP mit Service Pack 2 (SP2) verfügbar. Sie kann in nachfolgenden Versionen geändert oder nicht verfügbar sein.]
Kombiniert den Inhalt von zwei dynamischen Zeigerarrays (DPAs).
Syntax
BOOL DPA_Merge(
[in, out] HDPA hdpaDest,
[in] HDPA hdpaSrc,
[in] DWORD dwFlags,
[in] PFNDACOMPARE pfnCompare,
[in] PFNDPAMERGE pfnMerge,
[in] LPARAM lParam
);
Parameter
[in, out] hdpaDest
Typ: HDPA
Ein Handle für die erste DPA. Dieses Array kann optional vorsortiert werden. Wenn diese Funktion zurückgegeben wird, enthält das Handle für das zusammengeführte Array.
[in] hdpaSrc
Typ: HDPA
Ein Handle für die zweite DPA. Dieses Array kann optional vorsortiert werden.
[in] dwFlags
Typ: DWORD
Optionen, die die Methode bestimmen, die zum Zusammenführen der beiden Arrays verwendet wird. DPAM_NORMAL, DPAM_UNION und DPAM_UNION schließen sich gegenseitig aus– es kann nur eines dieser Flags festgelegt werden, optional in Verbindung mit DPAM_SORTED.
Wert | Bedeutung |
---|---|
|
Die Arrays sind vorsortiert. Die Sortierung wird übersprungen. Wenn dieses Flag nicht festgelegt ist, werden die Arrays sortiert, bevor sie zusammengeführt werden. |
|
Das endgültige Array besteht aus allen Elementen, die ursprünglich in hdpaDest vorhanden sind. Wenn eines dieser Elemente auch in hdpaSrc gefunden wird, werden diese Elemente im endgültigen Array zusammengeführt. Die PFNDPAMERGE-Rückruffunktion wird mit der DPAMM_MERGE-Nachricht aufgerufen.
Wenn dieses Flag festgelegt ist, entspricht die endgültige Größe des Arrays bei hdpaDest der ursprünglichen Größe. |
|
Das letzte Array ist die Vereinigung aller Elemente in beiden Arrays. Elemente, die in beiden Arrays gefunden werden, werden im endgültigen Array zusammengeführt. Elemente, die nur in einem array oder dem anderen gefunden werden, werden als gefunden hinzugefügt. Wenn dieses Flag festgelegt ist, kann die PFNDPAMERGE-Rückruffunktion mit der DPAMM_MERGE- oder DPAMM_INSERT-Nachricht aufgerufen werden.
Die endgültige Größe des Arrays ist mindestens die Größe des größeren von hdpaDest und hdpaSrc und höchstens die Summe der beiden. |
|
Nur Elemente, die in hdpaSrc und hdpaDest gefunden werden, werden zusammengeführt, um das endgültige Array zu bilden. Wenn dieses Flag festgelegt ist, kann die PFNDPAMERGE-Rückruffunktion mit der DPAMM_MERGE- oder DPAMM_DELETE-Nachricht aufgerufen werden.
Die endgültige Größe des Arrays kann zwischen 0 und der kleineren größe von hdpaDest und hdpaSrc liegen. |
[in] pfnCompare
Typ: PFNDPACOMPARE
Die PFNDPACOMPARE-Rückruffunktion , die zwei Elemente vergleicht, eines aus jedem DPA, um zu bestimmen, ob es sich um dasselbe Element handelt. Wenn ja, wird die Rückruffunktion aufgerufen, auf die pfnCompare verweist.
[in] pfnMerge
Typ: PFNDPAMERGE
Die PFNDPAMERGE-Rückruffunktion , die den Inhalt zusammenführt, wenn ein Element in beiden DPAs gefunden wird und von PFNDPACOMPARE als dasselbe Element ermittelt wird.
[in] lParam
Typ: LPARAM
Zusätzlicher Parameter, der verwendet wird, um die Grundlage des Vergleichs zu deklarieren, auf der die Gleichheit bestimmt wird.
Rückgabewert
Typ: BOOL
TRUE , wenn erfolgreich; andernfalls FALSE.
Hinweise
DPA_Merge wird nicht anhand des Namens exportiert. Um sie zu verwenden, müssen Sie GetProcAddress verwenden und die Ordnungszahl 11 von ComCtl32.dll anfordern, um einen Funktionszeiger abzurufen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | dpa_dsa.h |
DLL | Comctl32.dll (Version 5.0 oder höher) |