FPropContainsProp 

The FPropContainsProp function compares two property values, generally strings or binary arrays, to see if one value contains the other.

 

Note  This function may not be supported in future versions of MAPI.

 

Quick Info

Header file:

MAPIUTIL.H

Implemented by:

MAPI

Called by:

Client applications and service providers

 

BOOL FPropContainsProp(

    LPSPropValue lpSPropValueDst,

 

    LPSPropValue lpSPropValueSrc,

 

    ULONG ulFuzzyLevel

 

   );

 

 

Parameters

lpSPropValueDst

[in] Pointer to an SPropValue81C9._8 structure defining the property value that might contain the property value pointed to by the lpSPropValueSrc parameter.

lpSPropValueSrc

[in] Pointer to an SPropValue structure defining the property value that FPropContainsProp is seeking within the property value pointed to by the lpSPropValueDst parameter.

ulFuzzyLevel

[in] The fuzzy level to use in the comparison. Possible fuzzy level values are:

FL_FULLSTRING

Works identically to TNEF_PROP_CONTAINED_TNEF; requires an exact match.

FL_IGNORECASE

The comparison deals only with properties of type PT_STRING8. When this value is set, FPropContainsProp makes the comparison in case-insensitive fashion.

FL_IGNORENONSPACE

The comparison deals only with properties of type PT_STRING8. When this value is set, FPropContainsProp makes the comparison so as to ignore Unicode-defined nonspacing characters, for example diacritical marks.

FL_LOOSE

The comparison deals only with properties of type PT_STRING8. When this value is set, a service provider performs as many fuzzy level heuristics of types FL_IGNORECASE and FL_IGNORESPACE as it has been designed to handle.

FL_PREFIX

The comparison deals with properties of types T_STRING8 and PT_BINARY. When this value is set, FPropContainsProp compares the values of the two properties only through the length of the property indicated by the lpSPropValueSrc parameter.

FL_SUBSTRING

The comparison deals with properties of types PT_STRING8 and PT_BINARY. When this value is set, FPropContainsProp checks to see if the property value indicated by the lpSPropValueSrc parameter is contained as a substring in the other property.

 

Return Values

TRUE

In the following cases:

    FL_FULLSTRING is set for the fuzzy level and the values of the source and destination properties are equivalent.

    FL_SUBSTRING is set for the fuzzy level and the property indicated by the lpSPropValueSrc parameter is contained as a substring in the property indicated by the lpSPropValueDst parameter.

    For PT_BINARY properties not falling into one of the categories listed for the ulFuzzyLevel parameter, the property indicated by lpSPropValueSrc is contained as a byte sequence in the property indicated by lpSPropValueDst.

 

FL_FULLSTRING, FL_SUBSTRING and FL_PREFIX are mutually exclusive. Only one of them can be set where anywhere from zero to all three of the other possible values can be set: FL_IGNORECASE, FL_IGNORENONSPACE, and FL_LOOSE.

FALSE

The properties being compared are not both of the same type, one or both of the properties is not of either the PT_STRING8 or PT_BINARY type, or the input fuzzy level is not one of those listed for ulFuzzyLevel.

 

Remarks

For comparisons of properties of type PT_STRING8 not covered by one of the values for ulFuzzyLevel, the FPropContainsProp function compares the input property values as fuzzy level one.

The comparison method FPropContainsProp uses depends on the property types included with the SPropValue property definitions and a fuzzy level heuristic also provided by the calling implementation. FPropContainsProp can be used to prepare restrictions for generating a table.

See Also

FPropComparePropG970N_