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.