The EnumPropsEx function enumerates all entries in the property list of a window by passing them, one by one, to the specified callback function. EnumPropsEx continues until the last entry is enumerated or the callback function returns FALSE.
int EnumPropsEx(
  HWND hWnd,                  // handle to window
  PROPENUMPROCEX lpEnumFunc,  // pointer to callback function
  LPARAM lParam               // application-defined data
);
 The return value specifies the last value returned by the callback function. It is -1 if the function did not find a property for enumeration.
An application can remove only those properties it has added. It must not remove properties added by other applications or by the system itself.
  Windows NT: Requires version 3.1 or later.
  Windows: Requires Windows 95 or later.
  Windows CE: Unsupported.
  Header: Declared in winuser.h.
  Import Library: Use user32.lib.
  Unicode: Implemented as Unicode and ANSI versions on Windows NT.
Window Properties Overview, Window Property Functions, EnumProps, GetProp, PropEnumProcEx, RemoveProp, SetProp