# fpGetXmpInfoFile()

This function extracts XMP metadata from a file.

## Syntax

    KVErrorCode pascal fpGetXmpInfoFile(
        void            *pMainContext,
        char            *szInputFile,
        KVXmpInfo       *pXmpInfo,
        DWORD            dwXmpOptions );

## Arguments

`pMainContext` | A pointer to the `TPMainContext` structure, which is defined in `kvtypes.h`.
`szInputFile` | A pointer to the input file.
`pXmpInfo` | A pointer to the KVXmpInfo structure.
`dwXmpOptions` | Set this argument to `1` to return charset information, the raw XMP packet, and the path and value pairs of all XMP elements. Set this argument to `2` to return the raw XMP packet.

## Returns

The return value is an error code. See KVErrorCode.

## Discussion

- After the `pXmpInfo` argument is successfully filled, and its data is no longer required, call fpFreeXmpInfo() to free the memory allocated by this function.

- This function runs in process or out of process. See The Filter Process Model.

- XMP extraction is supported only for certain platforms and formats. See the following entries in the platform differences section:

  - XMP extraction
  - XMP extraction - HTML
  - XMP extraction - additional formats

- On Windows, `szInputFile` must be in the local Windows code page.

_FT_HTML5_bannerTitle.htm