Windows Dev Center

PFNDPAMERGE function pointer

Defines the prototype for the merge function used by DPA_Merge.

Syntax


typedef void* ( CALLBACK *PFNDPAMERGE)(
  _In_ UINT   uMsg,
  _In_ void   *pvDest,
  _In_ void   *pvSrc,
  _In_ LPARAM lParam
);

Parameters

uMsg [in]

Type: UINT

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

ValueMeaning
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.

 

pvDest [in]

Type: void*

A pointer to the first item in the merge.

pvSrc [in]

Type: void*

A pointer to the second item in the merge.

lParam [in]

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

Minimum supported client

Windows Vista [desktop apps only]

Minimum supported server

Windows Server 2003 [desktop apps only]

Header

Commctrl.h

See also

PFNDPAMERGECONST

 

 

Community Additions

ADD
Show:
© 2015 Microsoft