PFNDPAMERGE callback function (dpa_dsa.h)

Defines the prototype for the merge function used by DPA_Merge.

Syntax

PFNDPAMERGE Pfndpamerge;

void * Pfndpamerge(
  [in] UINT uMsg,
  [in] void *pvDest,
  [in] void *pvSrc,
  [in] LPARAM lParam
)
{...}

Parameters

[in] uMsg

Type: UINT

A message that instructs this function how to handle the merge. One of the following values.

Value Meaning
DPAMM_MERGE
0x1
Perform any additional processing needed when merging pvSrc into pvDest. The function should return a pointer to an item that contains the result of the merge. The value returned by the merge function is stored into the destination, which overwrites the previous value. If the merge function returns NULL, then the merge operation is abandoned.
DPAMM_DELETE
0x2
Perform any additional processing needed when a delete occurs as part of the merge. The function should return NULL.
DPAMM_INSERT
0x3
Perform any user-defined processing when the merge results in an item being inserted as part of the merge. The return value of this function should point to the item result that is inserted as part of the merge. If the merge function returns NULL, then the merge operation is abandoned.

[in] pvDest

Type: void*

A pointer to the first item in the merge.

[in] pvSrc

Type: void*

A pointer to the second item in the merge.

[in] lParam

Type: LPARAM

Additional data that can be used by the merge callback.

Return value

A pointer to the item which results from the merge or NULL if there is a failure when DPAMM_MERGE or DPAMM_INSERT is used.

Remarks

The callback function might not modify the dynamic pointer arrays (DPAs) involved in the merge operation.

Requirements

Requirement Value
Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2003 [desktop apps only]
Target Platform Windows
Header dpa_dsa.h

See also

PFNDPAMERGECONST