L_GetFilterListInfo

#include "l_bitmap.h"

L_INT EXT_FUNCTION L_GetFilterListInfo(ppFilterList, pFilterCount)

pFILTERINFO L_FAR * ppFilterList;

/* pointer to a pointer to a FILTERINFO structure */

L_UINT L_FAR * pFilterCount;

/* pointer to a variable to be updated */

Retrieves an array of information for all filters.

Parameter

Description

ppFilterList

Pointer to a pointer to a FILTERINFO structure that represents an array of information for all filters. The address of this structure will be stored into *ppFilterList. This parameter cannot be NULL.

pFilterCount

Pointer to a variable to be updated with the number of elements of ppFilterList array.

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes.

Comments

The function will allocate a FILTERINFO structure large enough to contain the information of all filters.

When the array ppFilterList is no longer needed, the user is responsible to free this structure by calling the L_FreeFilterInfo (*ppFilterList, *pFilterCount, FILTERINFO_FREEALL) function

To obtain the information for a specific filter, call the L_GetFilterListInfo function.

To update the information of a specific filter, call L_SetFilterInfo function.

To update the filter extension list, be sure to save and restore the original filter list before calling L_FreeFilterInfo function.

Required DLLs and Libraries

LTFIL

For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application.

Platforms

Windows 95 / 98 / Me, Windows 2000 / XP, Windows CE.

See Also

Functions:

L_GetFilterInfo, L_FreeFilterInfo, L_SetFilterInfo, L_FileInfo

Topics:

Raster Image Functions: Loading Files

 

Raster Image Functions: Getting and Setting File Information

 

Loading and Saving Images

Example

/* This example changes the extension list for the second filter in the list.
LEADTOOLS uses this filter only if the file extension is in the extension list that associated with the filter.*/

pFILTERINFO pFilterList;
L_UINT uFilterCount;
L_TCHAR L_FAR*pszOrigExtensionList;

L_GetFilterListInfo
(&pFilterList, &uFilterCount);

// Save the original extension list so you can free it later
pszOrigExtensionList = pFilterList[2].pszExtensionList;

//Designate files with extension abc or cba as type 2
pFilterList[2].pszExtensionList = L_TEXT("abc,cba");

// Remove the FILTERINFO_CHECKEDBYFILEINFO flag. This will make the
// L_FileInfo function checks for this filter only if the extension is in the extension list that have been set above
pFilterList[2].uFlags = pFilterList[2].uFlags & ~FILTERINFO_CHECKEDBYFILEINFO;

// Update the filter information. Note: This will affect all threads!
L_SetFilterInfo(&pFilterList[2], 1, 0);

 

// Restore the original extension list
pFilterList[2].pszExtensionList = pszOrigExtensionList;

// Free the pFilterList array that was allocated with L_GetFilterListInfo
L_FreeFilterInfo(pFilterList, uFilterCount, FILTERINFO_FREEALL);