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 SPropValue
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
FPropCompareProp