# IMoniker::IsEqual

Compares this moniker with a specified moniker and indicates whether they are identical.

HRESULT IsEqual(

IMoniker *pmkOtherMoniker | //Pointer to moniker to be used for comparison
); |

Parameter

pmkOtherMoniker
  [in] Pointer to the IMoniker interface on the moniker to be used for comparison with this one (the one from which this method is called).

Return Values

S_OK
  The two monikers are identical.
S_FALSE
  The two monikers are not identical.

Remarks

Previous implementations of the Running Object Table (ROT) called this method. The current implementation of the ROT uses the IROTData interface instead.

#### Notes to Callers

Call this method to determine if two monikers are identical or not. Note that the reduced form of a moniker is considered different from the unreduced form. You should call the IMoniker::Reduce method before calling IMoniker::IsEqual, because a reduced moniker is in its most specific form. IMoniker::IsEqual may return S_FALSE on two monikers before they are reduced, and S_OK after they are reduced.

#### Notes to Implementers

Your implementation should not reduce the current moniker before performing the comparison. It is the caller’s responsibility to call IMoniker::Reduce in order to compare reduced monikers.

Note that two monikers that compare as equal must hash to the same value using IMoniker::Hash.

See Also

IMoniker::Reduce, IMoniker::Hash, IROTData