EnhMetaFileProc callback function

The EnhMetaFileProc function is an application-defined callback function used with the EnumEnhMetaFile function. The ENHMFENUMPROC type defines a pointer to this callback function. EnhMetaFileProc is a placeholder for the application-defined function name.


int CALLBACK EnhMetaFileProc(
  _In_       HDC           hDC,
  _In_       HANDLETABLE   *lpHTable,
  _In_       int           nObj,
  _In_       LPARAM        lpData


  • hDC [in]
    Handle to the device context passed to EnumEnhMetaFile.

  • lpHTable [in]
    Pointer to a HANDLETABLE structure representing the table of handles associated with the graphics objects (pens, brushes, and so on) in the metafile. The first entry contains the enhanced-metafile handle.

  • lpEMFR [in]
    Pointer to one of the records in the metafile. This record should not be modified. (If modification is necessary, it should be performed on a copy of the record.)

  • nObj [in]
    Specifies the number of objects with associated handles in the handle table.

  • lpData [in]
    Pointer to optional data.

Return value

This function must return a nonzero value to continue enumeration; to stop enumeration, it must return zero.


An application must register the callback function by passing its address to the EnumEnhMetaFile function.


Minimum supported client

Windows 2000 Professional [desktop apps only]

Minimum supported server

Windows 2000 Server [desktop apps only]


Wingdi.h (include Windows.h)

See also

Metafiles Overview

Metafile Functions