IPXC_CState::Compare Method

From PDF XChange PDF SDK
Jump to: navigation, search
Line 16: Line 16:
 
;pResult
 
;pResult
 
:[out, retval] Pointer to '''LONG''' variant that will get result of comparison. If objects are equal it will be '''0''' (zero). Otherwise, it will be '''-1''' or '''1'''. The result is useful for ordering '''IPXC_CState''' objects.
 
:[out, retval] Pointer to '''LONG''' variant that will get result of comparison. If objects are equal it will be '''0''' (zero). Otherwise, it will be '''-1''' or '''1'''. The result is useful for ordering '''IPXC_CState''' objects.
: The following conditions apply:
 
:* If a.Compare(b) == 0, then b.Compare(a) == 0.
 
:* If a.Compare(b) > 0, then b.Compare(a) < 0.
 
:* If a.Compare(b) < 0, then b.Compare(a) > 0.
 
:* If a.Compare(b) == 0, and b.Compare(c) == 0, then a.Compare(c) == 0.
 
:* If a.Compare(b) > 0, and b.Compare(c) > 0, then a.Compare(c) > 0.
 
:* If a.Compare(b) < 0, and b.Compare(c) < 0, then a.Compare(c) < 0.
 
  
 
== Return Value ==
 
== Return Value ==
 
Returns S_OK if operation was successful or error code in other cases.
 
Returns S_OK if operation was successful or error code in other cases.
 +
 +
== Remarks ==
 +
Except ordering, not other significance should be attached to the result. In particular, a non zero result indicates nothing about values of object's properties.
 +
The result is valid withing a single instance of document where objects were taken. If '''Compare''' returns non zero value and the document is closed and reopened, there is no guarantee that it will be return the same non zero value for those same '''CState''' object.
 +
 +
The following conditions apply:
 +
* If a.Compare(b) == 0, then b.Compare(a) == 0.
 +
* If a.Compare(b) > 0, then b.Compare(a) < 0.
 +
* If a.Compare(b) < 0, then b.Compare(a) > 0.
 +
* If a.Compare(b) == 0, and b.Compare(c) == 0, then a.Compare(c) == 0.
 +
* If a.Compare(b) > 0, and b.Compare(c) > 0, then a.Compare(c) > 0.
 +
* If a.Compare(b) < 0, and b.Compare(c) < 0, then a.Compare(c) < 0.
  
 
== See Also ==
 
== See Also ==
 
See also [[PXV:IPXC_CState|IPXC_CState]].
 
See also [[PXV:IPXC_CState|IPXC_CState]].

Revision as of 14:58, 27 April 2015


Compares two IPXC_CState objects. Objects that belong to different documents are never equal.

Syntax

HRESULT Compare([in]           IPXC_CState*  pState,
                [out, retval]  LONG*         pResult);

Parameters

pState
[in] The IPXC_CState object to compare.
pResult
[out, retval] Pointer to LONG variant that will get result of comparison. If objects are equal it will be 0 (zero). Otherwise, it will be -1 or 1. The result is useful for ordering IPXC_CState objects.

Return Value

Returns S_OK if operation was successful or error code in other cases.

Remarks

Except ordering, not other significance should be attached to the result. In particular, a non zero result indicates nothing about values of object's properties. The result is valid withing a single instance of document where objects were taken. If Compare returns non zero value and the document is closed and reopened, there is no guarantee that it will be return the same non zero value for those same CState object.

The following conditions apply:
  • If a.Compare(b) == 0, then b.Compare(a) == 0.
  • If a.Compare(b) > 0, then b.Compare(a) < 0.
  • If a.Compare(b) < 0, then b.Compare(a) > 0.
  • If a.Compare(b) == 0, and b.Compare(c) == 0, then a.Compare(c) == 0.
  • If a.Compare(b) > 0, and b.Compare(c) > 0, then a.Compare(c) > 0.
  • If a.Compare(b) < 0, and b.Compare(c) < 0, then a.Compare(c) < 0.

See Also

See also IPXC_CState.