HP WBEM Services Software Developer's Kit for HP-UX Provider and Client Developer's Guide A.01

Provider Implementation
The Provider Programming Interfaces
Chapter 4 71
Main Arguments
Most provider API functions take a class or an instance reference (an
instance of the C++ CIMObjectPath class, sometimes called an instance
name or object path) as the principle argument. A reference uniquely
identifies an object (a class definition or an instance). It specifies a class
name and, if an instance reference, the set of keys that uniquely identify
the object.
Most functions that perform write operations (modify, delete) take a full
instance (an instance of the C++ CIMInstance class) or a class definition
(an instance of the C++ CIMClass class), as opposed to a reference (a
CIMObjectPath), as the principle argument.
Other arguments and how they should be handled are covered in the
Provider API sections in the /opt/wbem/html directory.
Returning Results
The C++ functions of the provider interfaces are of type void, and return
no value. All normal (non-error) responses are returned to the CIM
Server via a callback mechanism: functions receive a ResponseHandler
object. The ResponseHandler class contains the following public member
functions for returning data:
processing()
Informs the CIM Server that the provider is going to deliver results
deliver()
Delivers a potentially partial result to the CIM Server
complete()
All results for the operation have been delivered
Providers are encouraged to return partial results to enumerations in
calls to deliver(), rather than constructing a complete result array.
This aids overall system performance, as well as serving as a means for
the CIM Server to know that a provider is still operating in cases where
the result may be large.