The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.


This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

Compares two property values to determine whether they are equal.

Header file:


Implemented by:


Called by:

Client applications and service providers

LONG LPropCompareProp(
  LPSPropValue lpSPropValueA,
  LPSPropValue lpSPropValueB


[in] Pointer to an SPropValue structure defining the first property value to be compared.


[in] Pointer to an SPropValue structure defining the second property value to be compared.

LPropCompareProp returns one of the following values for most property types:

  • Less than zero if the value indicated by the lpSPropValueA parameter is less than that indicated by the lpSPropValueB parameter.

  • Greater than zero if the value indicated by lpSPropValueA is greater than that indicated by lpSPropValueB.

  • Zero if the value indicated by lpSPropValueA equals the value indicated by lpSPropValueB.

For property types that have no intrinsic ordering, such as Boolean or error types, the LPropCompareProp function returns an undefined value if the two property values are not equal. This undefined value is nonzero and consistent across calls.

Use the LPropCompareProp function only if the types of the two properties to be compared are the same.

Before calling LPropCompareProp, a client application or service provider must first retrieve the properties for comparison with a call to the IMAPIProp::GetProps method. When a client or provider calls LPropCompareProp, the function first examines the property tags to make sure that the comparison of property values is valid. The function then compares the property values, returning an appropriate value.

If the property values are unequal, LPropCompareProp determines which one is the greater. The properties that LPropCompareProp compares do not have to belong to the same object.