### The result Parameter

Directory service interrogation operations return a result value only if they succeed. All errors from these operations, including directory access protocol (DAP) errors, are reported in DS_status (see The DS_status Return Value), as are errors from all other operations.

The result of an interrogation is returned in a private object whose OM class is appropriate to the particular operation. The format of directory operation results is driven by the abstract service. To simplify processing, the result of a single operation is returned in a single OM object, which corresponds to the abstract result defined in the standards. The components of the result of an operation are represented by OM attributes in the operation's result object. All information contained in the abstract service result is made available to the application program. The result is inspected using the functions provided in the object management API, om_get( ).

Only the interrogation operations produce results, and each type of interrogation has a specific OM class of OM object for its result. These OM classes are as follows (see XDS Class Definitions for their definitions):

· DS_C_COMPARE_RESULT

· DS_C_LIST_RESULT

· DS_C_READ_RESULT

· DS_C_SEARCH_RESULT

The results of the different operations share several common components, including the CommonResults defined in the standards (see The Directory: Abstract Service Definition, ISO 9594-3, CCITT X.511) by inheriting OM attributes from the superclass DS_C_COMMON_RESULTS. An additional common component is the full DN of the target object, after all aliases are dereferenced.

The actual OM class of the result can always be a subclass of that named in order to allow flexibility for extensions. Thus, om_instance( ) always needs to be used when testing the OM class.

Any attribute values in the result are represented as discussed in Attribute and Attribute Value Assertion.

###