If this callback function is defined in the format filter then during filter WRITE operation it is called every time when some data is ready to be written.
Declaration:
Copy Code | |
---|---|
typedef AT_BOOL (LPACCUAPI LPAFT_IG_METAD_ITEM_SET_CB)( LPVOID lpPrivate, AT_MODE FormatID, LPCHAR ItemName, DWORD ItemID, AT_MODE ItemType, LPVOID ItemValue, AT_MODE ValueType, DWORD ValueLength, AT_BOOL ReadOnlyValue, LPVOID *NewItemValue, LPAT_MODE *NewValueType, LPDWORD *NewValueLength ); |
Arguments:
lpPrivate | Private callback data associated with metadata callback function. |
FormatID | The ID of format filter that send or get the item (IG_FORMAT_... constant). |
ItemName | Text name of item. |
ItemID | Numerical ID of item. |
ItemType |
Specifies the type of item and reflect the status of given record. Possible values are:
|
ItemValue | If ItemType = IG_METAD_VALUE_ITEM then this argument contains actual value of item of type specified by ValueType parameter.Value is stored as array of elements where each element contains values of type ValueType. Length of array is provided in parameter ValueLength. |
ValueType | If ItemType = IG_METAD_VALUE_ITEM then ValueType contains actual type of value stored in ItemValue pointer. See Non-Image data format section for the exact list of possible types. |
ValueLength | If ItemType = IG_METAD_VALUE_ITEM then VaueLength contains number of elements in array ValueItem of type specified by ValueType. |
ReadOnlyValue | If this argument is TRUE then actual value of item can not be changed by callback function and value is passed for information purpose only. If FALSE then value of item can be changed and application can provide new value through next three parameters. |
NewItemValue | Pointer to new item value that application may request to set as replacement of data passed in ItemValue parameter. If it is not NULL then next two parameters contain the type of value and length of array of elements. |
NewValueType | Specifies the type of new item value passed through NewItemValue parameter. |
NewValueLength | Specifies the size of array passed through NewItemValue pointer. |
Return Value:
Returns TRUE if ImageGear should overwrite the default item data with your data, or FALSE if ImageGear should ignore your data.
Supported Raster Image Formats:
This function does not process image pixels.
Sample:
JPEG
Example:
See example for IG_fltr_metad_callback_set() function.
Remarks:
Application can change/provide new value for given item using NewItemValue, NewValueType and NewValueLength parameters. This new value is to be used as replacement for default data passed through ItemValue parameter in the case if ReadOnlyValue is FALSE. Callback function should return TRUE if callback function has changed value, and FALSE if it is not changed.
See also IG_fltr_metad_callback_get(), IG_fltr_metad_callback_set(), LPAFT_IG_METAD_ITEM_ADD_CB, LPAFT_IG_METAD_ITEM_GET_CB functions and the section Processing of non-image data through filter callback functions.