DPA_DestroyCallback

This function destroys a DPA but with a notification for each item.

Declaration

VOID
DPA_DestroyCallback (
    HDPA pdpa,
    PFNDPAENUMCALLBACK pfnCB,
    PVOID pData);

The callback function has the prototype

typedef int (*PFNDPAENUMCALLBACK) (PVOID p, PVOID pData);

Parameters

The pdpa argument provides a handle to the DPA, or is NULL.

The pfnCB argument provides the address of the callback function.

The pData argument provides a caller-specific context to be passed on each invocation of the callback function.

Behaviour

If the pdpa and pfnCB arguments are not NULL, the function works upwards through the pointer array, from the start, calling the enumeration function once per pointer. Enumeration stops if the callback function returns zero. If pdpa is not NULL, the DPA is then destroyed.

In all versions, this function is implemented simply as a combination of DPA_EnumCallback and DPA_Destroy.

Variations

Versions before 6.10 simply assume that pfnCB is not NULL.

Availability

The DPA_DestroyCallback function is exported from COMCTL32.DLL as ordinal 386 in version 4.71 and higher. The implementation for version 6.10 and higher is built into a statically linked library and thence is also exported from the Internet Explorer module IERTUTIL.DLL as ordinal 79 in version 7.0 and higher.

This function was documented among the Settlement Program Interfaces in December 2002, but with Windows 2000 cited as the minimum operating system, despite many years of earlier availability.