Platform SDK: MAPI

FPropContainsProp

The FPropContainsProp function compares two property values, generally strings or binary arrays, to see if one 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 SPropValue structure defining the property value that might contain the search string pointed to by the lpSPropValueSrc parameter.
lpSPropValueSrc
[in] Pointer to an SPropValue structure defining the search string that FPropContainsProp is seeking within the property value pointed to by the lpSPropValueDst parameter.
ulFuzzyLevel
[in] Option settings defining the level of preciseness to use in the comparison. The lower 16 bits apply to properties of type PT_BINARY and PT_STRING8. They must be set to exactly one of the following values:
FL_FULLSTRING
The lpSPropValueSrc search string must be equal to the property value identified by lpSPropValueDst.
FL_PREFIX
The lpSPropValueSrc search string must appear at the beginning of the property value identified by lpSPropValueDst. The two values should be compared only up to the length of the search string indicated by lpSPropValueSrc.
FL_SUBSTRING
The lpSPropValueSrc search string must be contained anywhere within the property value identified by lpSPropValueDst.

The upper 16 bits apply only to properties of type PT_STRING8. They can be set to the following values in any combination:

FL_IGNORECASE
The comparison should be made without considering case sensitivity.
FL_IGNORENONSPACE
The comparison should ignore Unicode-defined nonspacing characters such as diacritical marks.
FL_LOOSE
The comparison should result in a match whenever possible, ignoring case sensitivity and nonspacing characters.

Return Values

TRUE
The parameters are all valid and the lpSPropValueSrc search string is contained as specified in the lpSPropValueDst property value.
FALSE
The property values being compared are not of type PT_STRING8 or PT_BINARY, the property values are of different types, or the lpSPropValueSrc search string is not contained as specified in the lpSPropValueDst property value.

Remarks

The comparison method depends on the property types specified in the SPropValue property definitions and the fuzzy level heuristic provided in the ulFuzzyLevel parameter. The FPropCompareProp and FPropContainsProp functions can be used to prepare restrictions for generating a table.

The upper 16 bits of ulFuzzyLevel are ignored for property type PT_BINARY. If the settings in ulFuzzyLevel are missing or invalid, a full-string exact match is performed. For more information on property containment, see the SContentRestriction structure.

See Also

Properties Functions