# KV_GetFilterInterfaceEx()

This function supplies pointers to other Filter functions. When `KV_GetFilterInterfaceEx()` is called, it assigns the function pointers in the structure `KVFltInterfaceEx` to other functions described in this chapter. For example, `KVFltInterfaceEx`.`fpInit` is assigned to point to the function `Init()`.

NOTE: This is used as an entry point to Filter API versions 7.4 and higher.

## Syntax

    KVErrorCode pascal KV_GetFilterInterfaceEx(
        KVFltInterfaceEx   *pInterfaceEx,
        int                 version );

## Arguments

`pInterfaceEx` | A pointer to the structure KVFltInterfaceEx, which contains function pointers that `KV_GetFilterInterfaceEx()` assigns to all other API functions.
`version` | The version number of the current Filter interface. This is a symbolic constant (`KVFLTINTERFACE_REVISION`) defined in `kvfilt.h`.

## Returns

If the revision number of the Filter interface API is unknown, this function returns a general error (`KVERR_General`).

## Discussion

- One of the initial steps in using the Filter API is to create an instance of a `KVFltInterfaceEx` structure and use this function to gain access to all other functions. The sample programs provide examples of how to do this.
- You can call the API functions directly. For example, you can call `GetOLESummaryInfo()` instead of using `fpGetOLESummaryInfo()` in `KVFltInterfaceEx`. However, Micro Focus recommends that you assign the function pointers in `KVFltInterfaceEx` to the functions for efficiency.

## Example

    void               *pKVFILTER;
    KVFltInterfaceEx   FilterFunc;
    KVErrorCode        nRet = KVERR_Success;
    KVErrorCode (pascal *fpGetFilterInterfaceEx)( KVFltInterfaceEx *FilterFunc, int version );

    pKVFILTER = myLoadLibrary(szDllName);

    fpGetFilterInterfaceEx = (KVErrorCode (pascal *)( KVFltInterfaceEx *, int ) )
    myGetProcAddress(pKVFILTER, "KV_GetFilterInterfaceEx");

_FT_HTML5_bannerTitle.htm