CMPI 2.1.0 API
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Variables
Client Services ("up-calls") (Subclause 9.4 - 9.11)

Variables

CMPIEnumeration *(* CMPIBrokerFT::enumerateInstanceNames )(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *classPath, CMPIStatus *rc)
 Enumerate the instance paths of the instances of a given class (and its subclasses). More...
 
CMPIInstance *(* CMPIBrokerFT::getInstance )(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath, const char **properties, CMPIStatus *rc)
 Get an existing instance. More...
 
CMPIObjectPath *(* CMPIBrokerFT::createInstance )(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *classPath, const CMPIInstance *newInst, CMPIStatus *rc)
 Create an instance of a given class. More...
 
CMPIStatus(* CMPIBrokerFT::modifyInstance )(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath, const CMPIInstance *modInst, const char **properties)
 Modify property values of an existing instance. More...
 
CMPIStatus(* CMPIBrokerFT::deleteInstance )(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath)
 Delete an existing instance. More...
 
CMPIEnumeration *(* CMPIBrokerFT::execQuery )(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *classPath, const char *query, const char *lang, CMPIStatus *rc)
 Execute a query on a given class and return the query result. More...
 
CMPIEnumeration *(* CMPIBrokerFT::enumerateInstances )(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *classPath, const char **properties, CMPIStatus *rc)
 Enumerate the instances of a given class (and its subclasses). More...
 
CMPIEnumeration *(* CMPIBrokerFT::associators )(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath, const char *assocClass, const char *resultClass, const char *role, const char *resultRole, const char **properties, CMPIStatus *rc)
 Enumerate the instances associated with a given source instance. More...
 
CMPIEnumeration *(* CMPIBrokerFT::associatorNames )(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath, const char *assocClass, const char *resultClass, const char *role, const char *resultRole, CMPIStatus *rc)
 Enumerate the instance paths of the instances associated with a given source instance. More...
 
CMPIEnumeration *(* CMPIBrokerFT::references )(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath, const char *resultClass, const char *role, const char **properties, CMPIStatus *rc)
 Enumerate the association instances referencing a given source instance. More...
 
CMPIEnumeration *(* CMPIBrokerFT::referenceNames )(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath, const char *resultClass, const char *role, CMPIStatus *rc)
 Enumerate the instance paths of the association instances referencing a given source instance. More...
 
CMPIData(* CMPIBrokerFT::invokeMethod )(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *objPath, const char *method, const CMPIArgs *in, CMPIArgs *out, CMPIStatus *rc)
 Invoke a method on a target object. More...
 
CMPIStatus(* CMPIBrokerFT::setProperty )(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath, const char *name, const CMPIValue *value, CMPIType type)
 Set or modify a property of an existing instance. (Deprecated) More...
 
CMPIData(* CMPIBrokerFT::getProperty )(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath, const char *name, CMPIStatus *rc)
 Get a property of an existing instance. (Deprecated) More...
 
CMPIEnumeration *(* CMPIBrokerFT::enumerateInstancesFiltered )(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *classPath, const char **properties, const char *filterQueryLanguage, const char *filterQuery, CMPIStatus *rc)
 Enumerate the instances of a given class (and its subclasses), returning only those that match the given query filter. More...
 
CMPIEnumeration *(* CMPIBrokerFT::associatorsFiltered )(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath, const char *assocClass, const char *resultClass, const char *role, const char *resultRole, const char **properties, const char *filterQueryLanguage, const char *filterQuery, CMPIStatus *rc)
 Enumerate the instances associated with a given source instance, returning only those that match the given filters. More...
 
CMPIEnumeration *(* CMPIBrokerFT::referencesFiltered )(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath, const char *resultClass, const char *role, const char **properties, const char *filterQueryLanguage, const char *filterQuery, CMPIStatus *rc)
 Enumerate the instances referencing a given source instance, returning only those that match the given filters. More...
 

Detailed Description

Variable Documentation

CMPIEnumeration*(* CMPIBrokerFT::enumerateInstanceNames)(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *classPath, CMPIStatus *rc)

Enumerate the instance paths of the instances of a given class (and its subclasses).

CMPIBrokerFT.enumerateInstanceNames() enumerates the instance paths of the instances of a given class (and its subclasses).

The target MIs are identified by the MB based on classPath.

Parameters
mbPoints to a CMPIBroker structure.
ctxPoints to a CMPIContext object that specifies the same principal (CMPIPrincipal entry), role (CMPIRole entry), accept language (CMPIAcceptLanguage entry), and content language (CMPIContentLanguage entry) as the CMPIContext object that was used to invoke the MI function that calls this MB function. Any invocation flags (CMPIInvocationFlags entry) will be ignored by this function.
classPathPoints to a CMPIObjectPath object that references the given class and that shall contain the namespace and class name components. The hostname and key components, if present, will be ignored by the MB.
[out]rcIf not NULL, points to a CMPIStatus structure that upon return will have been updated with the function return status.
Returns

If successful, a pointer to a new CMPIEnumeration object will be returned, containing CMPIObjectPath objects that represent the enumerated instance paths.

The new object will be automatically released by the MB, as described in Subclause 4.1.7 of the CMPI Standard. There is no function to explicitly release the new object.

If not successful, NULL will be returned.

Errors
The function return status will indicate one of the following CMPIrc codes:
  • CMPI_RC_OK - Function successful.
  • CMPI_RC_ERR_NOT_SUPPORTED - Function is not supported by this MI.
  • CMPI_RC_ERR_ACCESS_DENIED - Not authorized.
  • CMPI_RC_ERR_INVALID_HANDLE - The ctx or classPath handle is invalid.
  • CMPI_RC_ERR_INVALID_NAMESPACE - The namespace specified in classPath is invalid or does not exist.
  • CMPI_RC_ERR_INVALID_CLASS - The class specified in classPath is invalid or does not exist.
  • CMPI_RC_ERR_NOT_FOUND - No instances found. (Deprecated)
  • CMPI_RC_ERR_SERVER_LIMITS_EXCEEDED - Limits exceeded.
  • CMPI_RC_ERR_FAILED - Other error occurred.
Extended error handling is not supported by this MB function; thus, any CMPIError objects returned by the targeted MI cannot be made available to the calling MI.
Convenience Function
CBEnumInstanceNames()
Capabilities:
Part of the Basic Read capability.
Change:
In CMPI 2.1, added the return codes CMPI_RC_ERR_INVALID_NAMESPACE and CMPI_RC_ERR_INVALID_CLASS. It is believed that MB implementations needed to use these return codes already, so that their addition only fixes an omission in this standard and does not create a compatibility issue for MIs that conform to CMPI 2.0.
Deprecated:
The return code CMPI_RC_ERR_NOT_FOUND of this function is deprecated since CMPI 2.1. If no instances exist, the MB should instead return success with an empty result set. The MI shall treat this return code as a successful return of an empty result set.
CMPIInstance*(* CMPIBrokerFT::getInstance)(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath, const char **properties, CMPIStatus *rc)

Get an existing instance.

CMPIBrokerFT.getInstance() gets an existing instance.

The target MI is identified by the MB based on instPath.

Parameters
mbPoints to a CMPIBroker structure.
ctxPoints to a CMPIContext object that specifies the same principal (CMPIPrincipal entry), role (CMPIRole entry), accept language (CMPIAcceptLanguage entry), and content language (CMPIContentLanguage entry) as the CMPIContext object that was used to invoke the MI function that calls this MB function. The MI may specify invocation flags (CMPIInvocationFlags entry) as needed.
instPathPoints to a CMPIObjectPath object that references the instance to be retrieved and that shall contain the namespace, class name, and key components. The hostname component, if present, will be ignored by the MB.
propertiesIf not NULL, is an array of zero or more pointers to strings, each specifying a property name. The end of the array is identified by a NULL pointer. The returned instance will not include elements for any properties missing from this list. If properties is NULL, this indicates that all properties will be included in the returned instance.
[out]rcIf not NULL, points to a CMPIStatus structure that upon return will have been updated with the function return status.
Returns

If successful, a pointer to a new CMPIInstance object containing the retrieved instance will be returned.

The new object will be automatically released by the MB, as described in Subclause 4.1.7 of the CMPI Standard. There is no function to explicitly release the new object. Specifically, the MI shall not use CMPIBrokerMemFT.freeInstance() on the new object.

If not successful, NULL will be returned.

Errors
The function return status will indicate one of the following CMPIrc codes:
  • CMPI_RC_OK - Function successful.
  • CMPI_RC_ERR_NOT_SUPPORTED - Function is not supported by this MI.
  • CMPI_RC_ERR_ACCESS_DENIED - Not authorized.
  • CMPI_RC_ERR_INVALID_HANDLE - The mb, ctx or instPath handle is invalid.
  • CMPI_RC_ERR_INVALID_NAMESPACE - The namespace specified in instPath is invalid or does not exist.
  • CMPI_RC_ERR_INVALID_CLASS - The class specified in instPath is invalid or does not exist.
  • CMPI_RC_ERR_INVALID_PARAMETER - The property list specified in properties is invalid.
  • CMPI_RC_ERR_NOT_FOUND - Instance not found.
  • CMPI_RC_ERR_SERVER_LIMITS_EXCEEDED - Limits exceeded.
  • CMPI_RC_ERR_FAILED - Other error occurred.
Extended error handling is not supported by this MB function; thus, any CMPIError objects returned by the targeted MI cannot be made available to the calling MI.
Convenience Function
CBGetInstance()
Capabilities:
Part of the Basic Read capability.
Change:
In CMPI 2.1, added the return codes CMPI_RC_ERR_INVALID_NAMESPACE, CMPI_RC_ERR_INVALID_CLASS, and CMPI_RC_ERR_INVALID_PARAMETER. It is believed that MB implementations needed to use these return codes already, so that their addition only fixes an omission in this standard and does not create a compatibility issue for MIs that conform to CMPI 2.0.
CMPIObjectPath*(* CMPIBrokerFT::createInstance)(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *classPath, const CMPIInstance *newInst, CMPIStatus *rc)

Create an instance of a given class.

CMPIBrokerFT.createInstance() creates an instance of a given class.

The target MI is identified by the MB based on classPath.

Parameters
mbPoints to a CMPIBroker structure.
ctxPoints to a CMPIContext object that specifies the same principal (CMPIPrincipal entry), role (CMPIRole entry), accept language (CMPIAcceptLanguage entry), and content language (CMPIContentLanguage entry) as the CMPIContext object that was used to invoke the MI function that calls this MB function. Any invocation flags (CMPIInvocationFlags entry) will be ignored by this function.
classPathPoints to a CMPIObjectPath object that references the class of the instance to be created and that shall contain the namespace and class name components. The hostname and key components, if present, will be ignored by the MB.
newInstPoints to a CMPIInstance object specifying property values for the new instance. The object path component within this CMPIInstance object has no meaning; it should not be provided by the calling MIs. The MB will pass the definition of the new instance on to the target MI, unchanged.
[out]rcIf not NULL, points to a CMPIStatus structure that upon return will have been updated with the function return status.
Returns

If successful, a pointer to a new CMPIObjectPath object containing the assigned instance path will be returned.

The new object will be released automatically by the MB, as described in Subclause 4.1.7 of the CMPI Standard. There is no function to explicitly release the new object. Specifically, the MI shall not use CMPIBrokerMemFT.freeObjectPath() on the new object.

If not successful, NULL will be returned.

Errors
The function return status will indicate one of the following CMPIrc codes:
  • CMPI_RC_OK - Function successful.
  • CMPI_RC_ERR_NOT_SUPPORTED - Function is not supported by this MI.
  • CMPI_RC_ERR_ACCESS_DENIED - Not authorized.
  • CMPI_RC_ERR_INVALID_HANDLE - The mb, ctx, classPath, or newInst handle is invalid.
  • CMPI_RC_ERR_INVALID_NAMESPACE - The namespace specified in classPath is invalid or does not exist.
  • CMPI_RC_ERR_INVALID_CLASS - The class specified in classPath is invalid or does not exist.
  • CMPI_RC_ERR_INVALID_PARAMETER - The instance specified in inst is invalid.
  • CMPI_RC_ERR_ALREADY_EXISTS - Instance already exists.
  • CMPI_RC_ERR_FAILED - Other error occurred.
Extended error handling is not supported by this MB function; thus, any CMPIError objects returned by the targeted MI cannot be made available to the calling MI.
Convenience Function
CBCreateInstance()
Capabilities:
Part of the Instance Manipulation capability.
Change:
In CMPI 2.1, added the return codes CMPI_RC_ERR_INVALID_NAMESPACE, CMPI_RC_ERR_INVALID_CLASS, and CMPI_RC_ERR_INVALID_PARAMETER. It is believed that MB implementations needed to use these return codes already, so that their addition only fixes an omission in this standard and does not create a compatibility issue for MIs that conform to CMPI 2.0.
Deprecated:
The use of the key component within classPath is deprecated since CMPI 2.1; this key component should not be provided by the calling MIs. Initial key values can be supplied as properties in newInst.
CMPIStatus(* CMPIBrokerFT::modifyInstance)(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath, const CMPIInstance *modInst, const char **properties)

Modify property values of an existing instance.

CMPIBrokerFT.modifyInstance() modifies property values of an existing instance.

The target MI is identified by the MB based on instPath.

Parameters
mbPoints to a CMPIBroker structure.
ctxPoints to a CMPIContext object that specifies the same principal (CMPIPrincipal entry), role (CMPIRole entry), accept language (CMPIAcceptLanguage entry), and content language (CMPIContentLanguage entry) as the CMPIContext object that was used to invoke the MI function that calls this MB function. Any invocation flags (CMPIInvocationFlags entry) will be ignored by this function.
instPathPoints to a CMPIObjectPath object that references the instance to be modified and that shall contain the namespace, class name, and key components. The hostname component, if present, will be ignored by the MB.
modInstPoints to a CMPIInstance object specifying new values for the properties to be modified. The object path component within this CMPIInstance object has no meaning; it should not be provided by the calling MIs and should not be used by the MB.
propertyListIf not NULL, defines the list of property names to be modified. If NULL, all properties will be modified. The end of the list is signaled by a NULL character pointer.
Returns
CMPIStatus structure containing the function return status.
Errors
The function return status will indicate one of the following CMPIrc codes:
  • CMPI_RC_OK - Function successful.
  • CMPI_RC_ERR_NOT_SUPPORTED - Function is not supported by this MI.
  • CMPI_RC_ERR_ACCESS_DENIED - Not authorized.
  • CMPI_RC_ERR_INVALID_HANDLE - The mb, ctx, instPath, or modInst handle is invalid.
  • CMPI_RC_ERR_INVALID_NAMESPACE - The namespace specified in instPath is invalid or does not exist.
  • CMPI_RC_ERR_INVALID_CLASS - The class specified in instPath is invalid or does not exist.
  • CMPI_RC_ERR_INVALID_PARAMETER - The instance specified in modInst, or the properties specified in propertyList are invalid.
  • CMPI_RC_ERR_NOT_FOUND - Instance not found.
  • CMPI_RC_ERR_FAILED - Other error occurred.
Extended error handling is not supported by this MB function; thus, any CMPIError objects returned by the targeted MI cannot be made available to the calling MI.
Convenience Function
CBModifyInstance()
Capabilities:
Part of the Instance Manipulation capability.
Change:
In CMPI 2.1, added the return codes CMPI_RC_ERR_INVALID_NAMESPACE, CMPI_RC_ERR_INVALID_CLASS, and CMPI_RC_ERR_INVALID_PARAMETER. It is believed that MB implementations needed to use these return codes already, so that their addition only fixes an omission in this standard and does not create a compatibility issue for MIs that conform to CMPI 2.0.
CMPIStatus(* CMPIBrokerFT::deleteInstance)(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath)

Delete an existing instance.

CMPIBrokerFT.deleteInstance() deletes an existing instance.

The target MI is identified by the MB based on instPath.

Parameters
mbPoints to a CMPIBroker structure.
ctxPoints to a CMPIContext object that specifies the same principal (CMPIPrincipal entry), role (CMPIRole entry), accept language (CMPIAcceptLanguage entry), and content language (CMPIContentLanguage entry) as the CMPIContext object that was used to invoke the MI function that calls this MB function. Any invocation flags (CMPIInvocationFlags entry) will be ignored by this function.
instPathPoints to a CMPIObjectPath object that references the instance to be deleted and that shall contain the namespace, class name, and key components. The hostname component, if present, will be ignored by the MB.
Returns
CMPIStatus structure containing the function return status.
Errors
The function return status will indicate one of the following CMPIrc codes:
  • CMPI_RC_OK - Function successful.
  • CMPI_RC_ERR_NOT_SUPPORTED - Function is not supported by this MI.
  • CMPI_RC_ERR_ACCESS_DENIED - Not authorized.
  • CMPI_RC_ERR_INVALID_HANDLE - The ctx or instPath handle is invalid.
  • CMPI_RC_ERR_INVALID_NAMESPACE - The namespace specified in instPath is invalid or does not exist.
  • CMPI_RC_ERR_INVALID_CLASS - The class specified in instPath is invalid or does not exist.
  • CMPI_RC_ERR_NOT_FOUND - Instance not found.
  • CMPI_RC_ERR_FAILED - Other error occurred.
Extended error handling is not supported by this MB function; thus, any CMPIError objects returned by the targeted MI cannot be made available to the calling MI.
Convenience Function
CBDeleteInstance()
Capabilities:
Part of the Instance Manipulation capability.
Change:
In CMPI 2.1, added the return codes CMPI_RC_ERR_INVALID_NAMESPACE and CMPI_RC_ERR_INVALID_CLASS. It is believed that MB implementations needed to use these return codes already, so that their addition only fixes an omission in this standard and does not create a compatibility issue for MIs that conform to CMPI 2.0.
CMPIEnumeration*(* CMPIBrokerFT::execQuery)(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *classPath, const char *query, const char *lang, CMPIStatus *rc)

Execute a query on a given class and return the query result.

CMPIBrokerFT.execQuery() executes a query on a given class and returns the query result.

The target MI is identified by the MB based on classPath.

Parameters
mbPoints to a CMPIBroker structure.
ctxPoints to a CMPIContext object that specifies the same principal (CMPIPrincipal entry), role (CMPIRole entry), accept language (CMPIAcceptLanguage entry), and content language (CMPIContentLanguage entry) as the CMPIContext object that was used to invoke the MI function that calls this MB function. Any invocation flags (CMPIInvocationFlags entry) will be ignored by this function.
classPathPoints to a CMPIObjectPath object that references the given class to be queried and that shall contain the namespace and class name components. The hostname and key components, if present, will be ignored by the MB.
querySelect expression.
langQuery language.
[out]rcIf not NULL, points to a CMPIStatus structure that upon return will have been updated with the function return status.
Returns

If successful, a pointer to a new CMPIEnumeration object will be returned, containing CMPIInstance objects that represent the query result.

The new object will be automatically released by the MB, as described in Subclause 4.1.7 of the CMPI Standard. There is no function to explicitly release the new object.

If not successful, NULL will be returned.

Errors
The function return status will indicate one of the following CMPIrc codes:
  • CMPI_RC_OK - Function successful.
  • CMPI_RC_ERR_NOT_SUPPORTED - Function is not supported by this MI.
  • CMPI_RC_ERR_ACCESS_DENIED - Not authorized.
  • CMPI_RC_ERR_INVALID_HANDLE - The ctx or classPath handle is invalid.
  • CMPI_RC_ERR_INVALID_NAMESPACE - The namespace specified in classPath is invalid or does not exist.
  • CMPI_RC_ERR_INVALID_CLASS - The class specified in classPath is invalid or does not exist.
  • CMPI_RC_ERR_QUERY_LANGUAGE_NOT_SUPPORTED - Query language not supported.
  • CMPI_RC_ERR_INVALID_QUERY - Invalid query.
  • CMPI_RC_ERR_SERVER_LIMITS_EXCEEDED - Limits exceeded.
  • CMPI_RC_ERR_FAILED - Other error occurred.
Extended error handling is not supported by this MB function; thus, any CMPIError objects returned by the targeted MI cannot be made available to the calling MI.
Convenience Function
CBExecQuery()
Capabilities:
Part of the Query Execution capability.
Change:
In CMPI 2.1, added the return codes CMPI_RC_ERR_INVALID_NAMESPACE and CMPI_RC_ERR_INVALID_CLASS. It is believed that MB implementations needed to use these return codes already, so that their addition only fixes an omission in this standard and does not create a compatibility issue for MIs that conform to CMPI 2.0.
CMPIEnumeration*(* CMPIBrokerFT::enumerateInstances)(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *classPath, const char **properties, CMPIStatus *rc)

Enumerate the instances of a given class (and its subclasses).

CMPIBrokerFT.enumerateInstances() enumerates the instances of a given class (and its subclasses). The set of properties in the result instances can be controlled via properties and via the CMPI_FLAG_LocalOnly and CMPI_FLAG_DeepInheritance flags in the CMPIInvocationFlags entry of ctx.

The target MIs are identified by the MB based on classPath.

Parameters
mbPoints to a CMPIBroker structure.
ctxPoints to a CMPIContext object that specifies the same principal (CMPIPrincipal entry), role (CMPIRole entry), accept language (CMPIAcceptLanguage entry), and content language (CMPIContentLanguage entry) as the CMPIContext object that was used to invoke the MI function that calls this MB function. The MI may specify invocation flags (CMPIInvocationFlags entry) as needed.
classPathPoints to a CMPIObjectPath object that references the given class and that shall contain the namespace and class name components. The hostname and key components, if present, will be ignored by the MB.
propertiesIf not NULL, is an array of zero or more pointers to strings, each specifying a property name. The end of the array is identified by a NULL pointer. Each returned instance will not include elements for any properties missing from this list. If the properties argument is NULL, this indicates that all properties will be included in each returned instance.
[out]rcIf not NULL, points to a CMPIStatus structure that upon return will have been updated with the function return status.
Returns

If successful, a pointer to a new CMPIEnumeration object will be returned, containing CMPIInstance objects that represent the enumerated instances.

The new object will be automatically released by the MB, as described in Subclause 4.1.7 of the CMPI Standard. There is no function to explicitly release the new object.

If not successful, NULL will be returned.

Errors
The function return status will indicate one of the following CMPIrc codes:
  • CMPI_RC_OK - Function successful.
  • CMPI_RC_ERR_NOT_SUPPORTED - Function is not supported by this MI.
  • CMPI_RC_ERR_ACCESS_DENIED - Not authorized.
  • CMPI_RC_ERR_INVALID_HANDLE - The ctx or classPath handle is invalid.
  • CMPI_RC_ERR_INVALID_NAMESPACE - The namespace specified in classPath is invalid or does not exist.
  • CMPI_RC_ERR_INVALID_CLASS - The class specified in classPath is invalid or does not exist.
  • CMPI_RC_ERR_INVALID_PARAMETER - The property list specified in properties is invalid.
  • CMPI_RC_ERR_NOT_FOUND - No instances found. (Deprecated)
  • CMPI_RC_ERR_SERVER_LIMITS_EXCEEDED - Limits exceeded.
  • CMPI_RC_ERR_FAILED - Other error occurred.
Extended error handling is not supported by this MB function; thus, any CMPIError objects returned by the targeted MI cannot be made available to the calling MI.
Convenience Function
CBEnumInstances()
Capabilities:
Part of the Basic Read capability.
Change:
In CMPI 2.1, added the return codes CMPI_RC_ERR_INVALID_NAMESPACE, CMPI_RC_ERR_INVALID_CLASS, and CMPI_RC_ERR_INVALID_PARAMETER. It is believed that MB implementations needed to use these return codes already, so that their addition only fixes an omission in this standard and does not create a compatibility issue for MIs that conform to CMPI 2.0.
Deprecated:
The return code CMPI_RC_ERR_NOT_FOUND of this function is deprecated since CMPI 2.1. If no instances exist, the MB should instead return success with an empty result set. The MI shall treat this return code as a successful return of an empty result set.
CMPIEnumeration*(* CMPIBrokerFT::associators)(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath, const char *assocClass, const char *resultClass, const char *role, const char *resultRole, const char **properties, CMPIStatus *rc)

Enumerate the instances associated with a given source instance.

CMPIBrokerFT.associators() enumerates the instances associated with a given source instance.

The target MIs are identified by the MB based on instPath.

Parameters
mbPoints to a CMPIBroker structure.
ctxPoints to a CMPIContext object that specifies the same principal (CMPIPrincipal entry), role (CMPIRole entry), accept language (CMPIAcceptLanguage entry), and content language (CMPIContentLanguage entry) as the CMPIContext object that was used to invoke the MI function that calls this MB function. Any invocation flags (CMPIInvocationFlags entry) will be ignored by this function.
instPathPoints to a CMPIObjectPath object that references the given source instance that shall contain the namespace, class name, and key components. The hostname component, if present, will be ignored by the MB.
assocClassIf not NULL, shall be a valid association class name. It acts as a filter on the returned set of objects by mandating that each returned object shall be associated to the source object via an instance of this class or one of its subclasses.
resultClassIf not NULL, shall be a valid class name. It acts as a filter on the returned set of objects by mandating that each returned object shall be either an instance of this class or one of its subclasses.
roleIf not NULL, shall be a valid property name. It acts as a filter on the returned set of objects by mandating that each returned object shall be associated to the source object via an association in which the source object plays the specified role (i.e. the name of the property in the association class that refers to the source object shall match the value of this parameter).
resultRoleIf not NULL, shall be a valid property name. It acts as a filter on the returned set of objects by mandating that each returned object shall be associated to the source object via an association in which the returned object plays the specified role (i.e. the name of the property in the association class that refers to the returned object shall match the value of this parameter).
propertiesIf not NULL, is an array of zero or more pointers to strings, each specifying a property name. The end of the array is identified by a NULL pointer. Each returned instance will not include elements for any properties missing from this list. If properties is NULL, this indicates that all properties will be included in each returned instance.
[out]rcIf not NULL, points to a CMPIStatus structure that upon return will have been updated with the function return status.
Returns

If successful, a pointer to a new CMPIEnumeration object will be returned, containing CMPIInstance objects that represent the enumerated instances.

The new object will be released automatically by the MB, as described in Subclause 4.1.7 of the CMPI Standard. There is no function to explicitly release the new object.

If not successful, NULL will be returned.

Errors
The function return status will indicate one of the following CMPIrc codes:
  • CMPI_RC_OK - Function successful.
  • CMPI_RC_ERR_NOT_SUPPORTED - Function is not supported by this MI.
  • CMPI_RC_ERR_ACCESS_DENIED - Not authorized.
  • CMPI_RC_ERR_INVALID_HANDLE - The ctx or instPath handle is invalid.
  • CMPI_RC_ERR_INVALID_NAMESPACE - The namespace specified in instPath is invalid or does not exist.
  • CMPI_RC_ERR_INVALID_CLASS - The class specified in instPath is invalid or does not exist.
  • CMPI_RC_ERR_INVALID_PARAMETER - The assocClass, resultClass, role, resultRole, or properties arguments are invalid.
  • CMPI_RC_ERR_NOT_FOUND - Source instance not found. (Deprecated)
  • CMPI_RC_ERR_SERVER_LIMITS_EXCEEDED - Limits exceeded.
  • CMPI_RC_ERR_FAILED - Other error occurred.
Extended error handling is not supported by this MB function; thus, any CMPIError objects returned by the targeted MI cannot be made available to the calling MI.
Convenience Function
CBAssociators()
Capabilities:
Part of the Association Traversal capability.
Change:
In CMPI 2.1, added the return codes CMPI_RC_ERR_INVALID_NAMESPACE, CMPI_RC_ERR_INVALID_CLASS, and CMPI_RC_ERR_INVALID_PARAMETER. It is believed that MB implementations needed to use these return codes already, so that their addition only fixes an omission in this standard and does not create a compatibility issue for MIs that conform to CMPI 2.0.
Deprecated:
The return code CMPI_RC_ERR_NOT_FOUND of this function is deprecated since CMPI 2.1. If no instances exist, the MB should instead return success with an empty result set. The MI shall treat this return code as a successful return of an empty result set.
CMPIEnumeration*(* CMPIBrokerFT::associatorNames)(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath, const char *assocClass, const char *resultClass, const char *role, const char *resultRole, CMPIStatus *rc)

Enumerate the instance paths of the instances associated with a given source instance.

CMPIBrokerFT.associatorNames() enumerates the instance paths of the instances associated with a given source instance.

The target MIs are identified by the MB based on instPath.

Parameters
mbPoints to a CMPIBroker structure.
ctxPoints to a CMPIContext object that specifies the same principal (CMPIPrincipal entry), role (CMPIRole entry), accept language (CMPIAcceptLanguage entry), and content language (CMPIContentLanguage entry) as the CMPIContext object that was used to invoke the MI function that calls this MB function. Any invocation flags (CMPIInvocationFlags entry) will be ignored by this function.
instPathPoints to a CMPIObjectPath object that references the given source instance that shall contain the namespace, class name, and key components. The hostname component, if present, will be ignored by the MB.
assocClassIf not NULL, shall be a valid association class name. It acts as a filter on the returned set of objects by mandating that each returned object shall be associated to the source object via an instance of this class or one of its subclasses.
resultClassIf not NULL, shall be a valid class name. It acts as a filter on the returned set of objects by mandating that each returned object shall be either an instance of this class or one of its subclasses.
roleIf not NULL, shall be a valid property name. It acts as a filter on the returned set of objects by mandating that each returned object shall be associated to the source object via an association in which the source object plays the specified role (i.e. the name of the property in the association class that refers to the source object shall match the value of this parameter).
resultRoleIf not NULL, shall be a valid property name. It acts as a filter on the returned set of objects by mandating that each returned object shall be associated to the source object via an association in which the returned object plays the specified role (i.e. the name of the property in the association class that refers to the returned object shall match the value of this parameter).
[out]rcIf not NULL, points to a CMPIStatus structure that upon return will have been updated with the function return status.
Returns

If successful, a pointer to a new CMPIEnumeration object will be returned, containing CMPIObjectPath objects that represent the enumerated instance paths.

The new object will be automatically released by the MB, as described in Subclause 4.1.7 of the CMPI Standard. There is no function to explicitly release the new object.

If not successful, NULL will be returned.

Errors
The function return status will indicate one of the following CMPIrc codes:
  • CMPI_RC_OK - Function successful.
  • CMPI_RC_ERR_NOT_SUPPORTED - Function is not supported by this MI.
  • CMPI_RC_ERR_ACCESS_DENIED - Not authorized.
  • CMPI_RC_ERR_INVALID_HANDLE - The ctx or instPath handle is invalid.
  • CMPI_RC_ERR_INVALID_NAMESPACE - The namespace specified in instPath is invalid or does not exist.
  • CMPI_RC_ERR_INVALID_CLASS - The class specified in instPath is invalid or does not exist.
  • CMPI_RC_ERR_INVALID_PARAMETER - The assocClass, resultClass, role, or resultRole arguments are invalid.
  • CMPI_RC_ERR_NOT_FOUND - Source instance not found. (Deprecated)
  • CMPI_RC_ERR_SERVER_LIMITS_EXCEEDED - Limits exceeded.
  • CMPI_RC_ERR_FAILED - Other error occurred.
Extended error handling is not supported by this MB function; thus, any CMPIError objects returned by the targeted MI cannot be made available to the calling MI.
Convenience Function
CBAssociatorNames()
Capabilities:
Part of the Association Traversal capability.
Change:
In CMPI 2.1, added the return codes CMPI_RC_ERR_INVALID_NAMESPACE, CMPI_RC_ERR_INVALID_CLASS, and CMPI_RC_ERR_INVALID_PARAMETER. It is believed that MB implementations needed to use these return codes already, so that their addition only fixes an omission in this standard and does not create a compatibility issue for MIs that conform to CMPI 2.0.
Deprecated:
The return code CMPI_RC_ERR_NOT_FOUND of this function is deprecated since CMPI 2.1. If no instances exist, the MB should instead return success with an empty result set. The MI shall treat this return code as a successful return of an empty result set.
CMPIEnumeration*(* CMPIBrokerFT::references)(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath, const char *resultClass, const char *role, const char **properties, CMPIStatus *rc)

Enumerate the association instances referencing a given source instance.

CMPIBrokerFT.references() enumerates the association instances referencing a given source instance.

The target MIs are identified by the MB based on instPath.

Parameters
mbPoints to a CMPIBroker structure.
ctxPoints to a CMPIContext object that specifies the same principal (CMPIPrincipal entry), role (CMPIRole entry), accept language (CMPIAcceptLanguage entry), and content language (CMPIContentLanguage entry) as the CMPIContext object that was used to invoke the MI function that calls this MB function. Any invocation flags (CMPIInvocationFlags entry) will be ignored by this function.
instPathPoints to a CMPIObjectPath object that references the given source instance that shall contain the namespace, class name, and key components. The hostname component, if present, will be ignored by the MB.
resultClassIf not NULL, shall be a valid class name. It acts as a filter on the returned set of objects by mandating that each returned object shall be either an instance of this class or one of its subclasses.
roleIf not NULL, shall be a valid property name. It acts as a filter on the returned set of objects by mandating that each returned object shall be associated to the source object via an association in which the source object plays the specified role (i.e. the name of the property in the association class that refers to the source object shall match the value of this parameter).
propertiesIf not NULL, is an array of zero or more pointers to strings, each specifying a property name. The end of the array is identified by a NULL pointer. Each returned instance will not include elements for any properties missing from this list. If properties is NULL, this indicates that all properties will be included in each returned instance.
[out]rcIf not NULL, points to a CMPIStatus structure that upon return will have been updated with the function return status.
Returns

If successful, a pointer to a new CMPIEnumeration object will be returned, containing CMPIInstance objects that represent the enumerated instances.

The new object will be released automatically by the MB, as described in Subclause 4.1.7 of the CMPI Standard. There is no function to explicitly release the new object.

If not successful, NULL will be returned.

Errors
The function return status will indicate one of the following CMPIrc codes:
  • CMPI_RC_OK - Function successful.
  • CMPI_RC_ERR_NOT_SUPPORTED - Function is not supported by this MI.
  • CMPI_RC_ERR_ACCESS_DENIED - Not authorized.
  • CMPI_RC_ERR_INVALID_HANDLE - The ctx or instPath handle is invalid.
  • CMPI_RC_ERR_INVALID_NAMESPACE - The namespace specified in instPath is invalid or does not exist.
  • CMPI_RC_ERR_INVALID_CLASS - The class specified in instPath is invalid or does not exist.
  • CMPI_RC_ERR_INVALID_PARAMETER - The resultClass, or role arguments are invalid.
  • CMPI_RC_ERR_NOT_FOUND - Source instance not found. (Deprecated)
  • CMPI_RC_ERR_SERVER_LIMITS_EXCEEDED - Limits exceeded.
  • CMPI_RC_ERR_FAILED - Other error occurred.
Extended error handling is not supported by this MB function; thus, any CMPIError objects returned by the targeted MI cannot be made available to the calling MI.
Convenience Function
CBReferences()
Capabilities:
Part of the Association Traversal capability.
Change:
In CMPI 2.1, added the return codes CMPI_RC_ERR_INVALID_NAMESPACE, CMPI_RC_ERR_INVALID_CLASS, and CMPI_RC_ERR_INVALID_PARAMETER. It is believed that MB implementations needed to use these return codes already, so that their addition only fixes an omission in this standard and does not create a compatibility issue for MIs that conform to CMPI 2.0.
Deprecated:
The return code CMPI_RC_ERR_NOT_FOUND of this function is deprecated since CMPI 2.1. If no instances exist, the MB should instead return success with an empty result set. The MI shall treat this return code as a successful return of an empty result set.
CMPIEnumeration*(* CMPIBrokerFT::referenceNames)(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath, const char *resultClass, const char *role, CMPIStatus *rc)

Enumerate the instance paths of the association instances referencing a given source instance.

CMPIBrokerFT.referenceNames() enumerates the instance paths of the association instances referencing a given source instance.

The target MIs are identified by the MB based on instPath.

Parameters
mbPoints to a CMPIBroker structure.
ctxPoints to a CMPIContext object that specifies the same principal (CMPIPrincipal entry), role (CMPIRole entry), accept language (CMPIAcceptLanguage entry), and content language (CMPIContentLanguage entry) as the CMPIContext object that was used to invoke the MI function that calls this MB function. Any invocation flags (CMPIInvocationFlags entry) will be ignored by this function.
instPathPoints to a CMPIObjectPath object that references the given source instance that shall contain the namespace, class name, and key components. The hostname component, if present, will be ignored by the MB.
resultClassIf not NULL, shall be a valid class name. It acts as a filter on the returned set of objects by mandating that each returned object shall be either an instance of this class or one of its subclasses.
roleIf not NULL, shall be a valid property name. It acts as a filter on the returned set of objects by mandating that each returned object shall be associated to the source object via an association in which the source object plays the specified role (i.e. the name of the property in the association class that refers to the source object shall match the value of this parameter).
[out]rcIf not NULL, points to a CMPIStatus structure that upon return will have been updated with the function return status.
Returns

If successful, a pointer to a new CMPIEnumeration object will be returned, containing CMPIObjectPath objects that represent the enumerated instance paths.

The new object will be released automatically by the MB, as described in Subclause 4.1.7 of the CMPI Standard. There is no function to explicitly release the new object.

If not successful, NULL will be returned.

Errors
The function return status will indicate one of the following CMPIrc codes:
  • CMPI_RC_OK - Function successful.
  • CMPI_RC_ERR_NOT_SUPPORTED - Function is not supported by this MI.
  • CMPI_RC_ERR_ACCESS_DENIED - Not authorized.
  • CMPI_RC_ERR_INVALID_HANDLE - The ctx or instPath handle is invalid.
  • CMPI_RC_ERR_INVALID_NAMESPACE - The namespace specified in instPath is invalid or does not exist.
  • CMPI_RC_ERR_INVALID_CLASS - The class specified in instPath is invalid or does not exist.
  • CMPI_RC_ERR_INVALID_PARAMETER - The resultClass, or role arguments are invalid.
  • CMPI_RC_ERR_NOT_FOUND - Source instance not found. (Deprecated)
  • CMPI_RC_ERR_SERVER_LIMITS_EXCEEDED - Limits exceeded.
  • CMPI_RC_ERR_FAILED - Other error occurred.
Extended error handling is not supported by this MB function; thus, any CMPIError objects returned by the targeted MI cannot be made available to the calling MI.
Convenience Function
CBReferenceNames()
Capabilities:
Part of the Association Traversal capability.
Change:
In CMPI 2.1, added the return codes CMPI_RC_ERR_INVALID_NAMESPACE, CMPI_RC_ERR_INVALID_CLASS, and CMPI_RC_ERR_INVALID_PARAMETER. It is believed that MB implementations needed to use these return codes already, so that their addition only fixes an omission in this standard and does not create a compatibility issue for MIs that conform to CMPI 2.0.
Deprecated:
The return code CMPI_RC_ERR_NOT_FOUND of this function is deprecated since CMPI 2.1. If no instances exist, the MB should instead return success with an empty result set. The MI shall treat this return code as a successful return of an empty result set.
CMPIData(* CMPIBrokerFT::invokeMethod)(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *objPath, const char *method, const CMPIArgs *in, CMPIArgs *out, CMPIStatus *rc)

Invoke a method on a target object.

CMPIBrokerFT.invokeMethod() invokes a named, extrinsic method on a target object. Instance methods (i.e., non-static methods) can be invoked only on instances. Class methods (i.e., static methods) can be invoked on instances and classes.

The target MI is identified by the MB based on objPath.

Parameters
mbPoints to a CMPIBroker structure.
ctxPoints to a CMPIContext object that specifies the same principal (CMPIPrincipal entry), role (CMPIRole entry), accept language (CMPIAcceptLanguage entry), and content language (CMPIContentLanguage entry) as the CMPIContext object that was used to invoke the MI function that calls this MB function. Any invocation flags (CMPIInvocationFlags entry) will be ignored by this function.
objPath

Points to the CMPIObjectPath object that references the target object on which the method is invoked.

If the target object is an instance, this object path shall contain the namespace, class name, and key components. The hostname component, if present, will be ignored by the MB.

If the target object is a class, this object path shall contain the namespace and class name components. The hostname and key components, if present, will be ignored by the MB.

Parameters
methodMethod name.
inPoints to a CMPIArgs object containing the method input parameters.
[out]out

Points to an empty CMPIArgs object that, upon successful return of the method, will have been updated to contain the method output parameters.

The objects returned in the CMPIArgs object shall not be explicitly released by the MI; they will be automatically released by the MB, as described in Subclause 4.1.7 of the CMPI Standard.

Parameters
[out]rcIf not NULL, points to a CMPIStatus structure that upon return will have been updated with the function return status.
Returns

If successful, a CMPIData structure containing the method return value will be returned.

If not successful, CMPIData.state will be undefined.

Errors
The function return status will indicate one of the following CMPIrc codes:
  • CMPI_RC_OK - Function successful.
  • CMPI_RC_ERR_NOT_SUPPORTED - Invocation of extrinsic methods is not supported by the MB (that is, the Instance Manipulation capability is not available).
  • CMPI_RC_ERR_ACCESS_DENIED - Not authorized.
  • CMPI_RC_ERR_INVALID_HANDLE - The ctx, objPath, in, or out handle is invalid.
  • CMPI_RC_ERR_INVALID_NAMESPACE - The namespace specified in objPath is invalid or does not exist.
  • CMPI_RC_ERR_INVALID_CLASS - The class specified in objPath is invalid or does not exist.
  • CMPI_RC_ERR_INVALID_PARAMETER - The method parameters specified in the in or out arguments are invalid.
  • CMPI_RC_ERR_NOT_FOUND - Target object not found.
  • CMPI_RC_ERR_METHOD_NOT_AVAILABLE - The extrinsic method is not supported by the targeted MI.
  • CMPI_RC_ERR_METHOD_NOT_FOUND - Method not defined in the class.
  • CMPI_RC_ERR_SERVER_LIMITS_EXCEEDED - Limits exceeded.
  • CMPI_RC_ERR_FAILED - Other error occurred.
Extended error handling is not supported by this MB function; thus, any CMPIError objects returned by the targeted MI cannot be made available to the calling MI.
Convenience Function
CBInvokeMethod()
Capabilities:
Part of the Instance Manipulation capability.
Change:
In CMPI 2.1, added the return codes CMPI_RC_ERR_INVALID_NAMESPACE, CMPI_RC_ERR_INVALID_CLASS, and CMPI_RC_ERR_INVALID_PARAMETER. It is believed that MB implementations needed to use these return codes already, so that their addition only fixes an omission in this standard and does not create a compatibility issue for MIs that conform to CMPI 2.0.
CMPIStatus(* CMPIBrokerFT::setProperty)(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath, const char *name, const CMPIValue *value, CMPIType type)

Set or modify a property of an existing instance. (Deprecated)

CMPIBrokerFT.setProperty() sets or modifies a property of an existing instance.

The target MI is identified by the MB based on instPath.

Parameters
mbPoints to a CMPIBroker structure.
ctxPoints to a CMPIContext object that specifies the same principal (CMPIPrincipal entry), role (CMPIRole entry), accept language (CMPIAcceptLanguage entry), and content language (CMPIContentLanguage entry) as the CMPIContext object that was used to invoke the MI function that calls this MB function. Any invocation flags (CMPIInvocationFlags entry) will be ignored by this function.
instPathPoints to a CMPIObjectPath object that references the instance to be modified and that shall contain the namespace, class name, and key components. The hostname component, if present, will be ignored by the MB.
nameProperty name.
valuePoints to a CMPIValue structure containing the non-NULL value to be assigned to the property, or is NULL to specify that NULL is to be assigned.
type

A CMPIType value defining the type of the value to be assigned to the property.

If the value of type is CMPI_chars or CMPI_charsA, the C-language string to which value.chars points is copied by this function and the original string memory may be freed by the MI right after this function returns.

Returns
CMPIStatus structure containing the function return status.
Errors
The function return status will indicate one of the following CMPIrc codes:
  • CMPI_RC_OK - Function successful.
  • CMPI_RC_ERR_NOT_SUPPORTED - Function is not supported by this MI.
  • CMPI_RC_ERR_ACCESS_DENIED - Not authorized.
  • CMPI_RC_ERR_INVALID_HANDLE - The ctx or instPath handle is invalid.
  • CMPI_RC_ERR_INVALID_NAMESPACE - The namespace specified in instPath is invalid or does not exist.
  • CMPI_RC_ERR_INVALID_CLASS - The class specified in instPath is invalid or does not exist.
  • CMPI_RC_ERR_NOT_FOUND - The class specified in instPath is not found.
  • CMPI_RC_ERR_NO_SUCH_PROPERTY - Property not found.
  • CMPI_RC_ERR_TYPE_MISMATCH - Value types incompatible.
  • CMPI_RC_ERR_FAILED - Other error occurred.
Extended error handling is not supported by this MB function; thus, any CMPIError objects returned by the targeted MI cannot be made available to the calling MI.
Convenience Function
CMSetProperty()
Capabilities:
Part of the Basic Write capability.
Change:
In CMPI 2.1, added the return codes CMPI_RC_ERR_INVALID_NAMESPACE and CMPI_RC_ERR_INVALID_CLASS. It is believed that MB implementations needed to use these return codes already, so that their addition only fixes an omission in this standard and does not create a compatibility issue for MIs that conform to CMPI 2.0.
Deprecated:
This function is deprecated since CMPI 2.1, in accord with the deprecation of property client operations in DMTF specifications. MBs shall implement this function by invoking CMPIInstanceMIFT.modifyInstance() if CMPIPropertyMIFT.setProperty() is not implemented by the target MI. New MIs should replace the use of CMPIBrokerFT.setProperty() with the use of CMPIBrokerFT.modifyInstance().
CMPIData(* CMPIBrokerFT::getProperty)(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath, const char *name, CMPIStatus *rc)

Get a property of an existing instance. (Deprecated)

CMPIBrokerFT.getProperty() function gets a property of an existing instance.

The target MI is identified by the MB based on instPath.

Parameters
mbPoints to a CMPIBroker structure.
ctxPoints to a CMPIContext object that specifies the same principal (CMPIPrincipal entry), role (CMPIRole entry), accept language (CMPIAcceptLanguage entry), and content language (CMPIContentLanguage entry) as the CMPIContext object that was used to invoke the MI function that calls this MB function. Any invocation flags (CMPIInvocationFlags entry) will be ignored by this function.
instPathPoints to a CMPIObjectPath object that references the instance to be retrieved and that shall contain the namespace, class name, and key components. The hostname component, if present, will be ignored by the MB.
nameProperty name.
[out]rcIf not NULL, points to a CMPIStatus structure that upon return will have been updated with the function return status.
Returns

If successful, a CMPIData structure containing the specified property will be returned.

If not successful, CMPIData.state will be undefined.

Errors
The function return status will indicate one of the following CMPIrc codes:
  • CMPI_RC_OK - Function successful.
  • CMPI_RC_ERR_NOT_SUPPORTED - Function is not supported by this MI.
  • CMPI_RC_ERR_ACCESS_DENIED - Not authorized.
  • CMPI_RC_ERR_INVALID_HANDLE - The ctx or instPath handle is invalid.
  • CMPI_RC_ERR_INVALID_NAMESPACE - The namespace specified in instPath is invalid or does not exist.
  • CMPI_RC_ERR_INVALID_CLASS - The class specified in instPath is invalid or does not exist.
  • CMPI_RC_ERR_NOT_FOUND - Instance not found.
  • CMPI_RC_ERR_NO_SUCH_PROPERTY - Property not found.
  • CMPI_RC_ERR_FAILED - Other error occurred.
Extended error handling is not supported by this MB function; thus, any CMPIError objects returned by the targeted MI cannot be made available to the calling MI.
Convenience Function
CMGetProperty()
Capabilities:
Part of the Basic Read capability.
Change:
In CMPI 2.1, added the return codes CMPI_RC_ERR_INVALID_NAMESPACE and CMPI_RC_ERR_INVALID_CLASS. It is believed that MB implementations needed to use these return codes already, so that their addition only fixes an omission in this standard and does not create a compatibility issue for MIs that conform to CMPI 2.0.
Deprecated:
This function is deprecated since CMPI 2.1, in accord with the deprecation of property client operations in DMTF specifications. MBs shall implement this function by invoking CMPIInstanceMIFT.getInstance() if CMPIPropertyMIFT.getProperty() is not implemented by the target MI. New MIs should replace the use of CMPIBrokerFT.getProperty() with the use of CMPIBrokerFT.getInstance().
CMPIEnumeration*(* CMPIBrokerFT::enumerateInstancesFiltered)(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *classPath, const char **properties, const char *filterQueryLanguage, const char *filterQuery, CMPIStatus *rc)

Enumerate the instances of a given class (and its subclasses), returning only those that match the given query filter.

CMPIBrokerFT.enumerateInstancesFiltered() enumerates the instances of a given class and its subclasses, returning only instances that match filterQuery. If no such instances are found, the function will return success with an empty enumeration.

The target MIs are identified by the MB based on classPath.

The set of properties in the result instances can be controlled via properties and via the CMPI_FLAG_LocalOnly and CMPI_FLAG_DeepInheritance flags in the CMPIInvocationFlags entry of ctx.

Because the response interface does not support extended error responses, there is no argument to request continue on error as part of this function. The MB is expected to invoke any target MIs with continueOnError set to false.

Parameters
mbPoints to a CMPIBroker structure.
ctxPoints to a CMPIContext object that specifies the same principal (CMPIPrincipal entry), role (CMPIRole entry), accept language (CMPIAcceptLanguage entry), and content language (CMPIContentLanguage entry) as the CMPIContext object that was used to invoke the MI function that calls this MB function. The MI may specify invocation flags (CMPIInvocationFlags entry) as needed.
classPathPoints to a CMPIObjectPath object that references the given class and that shall contain the namespace and class name components. The hostname and key components, if present, will be ignored by the MB.
propertiesIf not NULL, an array of zero or more pointers to strings, each specifying a property name. The end of the array is identified by a NULL pointer. Each returned instance will not include elements for any properties missing from this list. If this argument is NULL, this indicates that all properties will be included in each returned instance.
filterQueryLanguageDefines the query language used by filterQuery. If filterQueryLanguage is NULL, filterQuery is ignored and no filtering is performed.
filterQueryDefines the query in the query language defined by filterQueryLanguage. If NULL, no filtering is performed.
[out]rcIf not NULL, points to a CMPIStatus structure that upon return will have been updated with the function return status.
Returns

If successful, a pointer to a new CMPIEnumeration object will be returned, containing CMPIInstance objects that represent the enumerated instances.

The new object will be automatically released by the MB, as described in Subclause 4.1.7 of the CMPI Standard. There is no function to explicitly release the new object.

If not successful, NULL will be returned.

Errors
The function return status will indicate one of the following CMPIrc codes:
  • CMPI_RC_OK - Function successful.
  • CMPI_RC_ERR_NOT_SUPPORTED - Function is not supported by this MI.
  • CMPI_RC_ERR_ACCESS_DENIED - Not authorized.
  • CMPI_RC_ERR_INVALID_HANDLE - The ctx or classPath handle is invalid.
  • CMPI_RC_ERR_INVALID_NAMESPACE - The namespace specified in instPath is invalid or does not exist.
  • CMPI_RC_ERR_INVALID_CLASS - The class specified in instPath is invalid or does not exist.
  • CMPI_RC_ERR_INVALID_PARAMETER - The property list specified in properties is invalid.
  • CMPI_RC_ERR_QUERY_LANGUAGE_NOT_SUPPORTED - The MB does not support the query language defined in the input arguments.
  • CMPI_RC_ERR_INVALID_QUERY - filterQuery is not a valid filter in the language defined by filterQueryLanguage.
  • CMPI_RC_ERR_QUERY_FEATURE_NOT_SUPPORTED - A feature of the query language is not supported.
  • CMPI_RC_ERR_SERVER_LIMITS_EXCEEDED - Limits exceeded.
  • CMPI_RC_ERR_FAILED - Other error occurred.
Extended error handling is not supported by this MB function; thus, any CMPIError objects returned by the targeted MI cannot be made available to the calling MI.
Convenience Function
CBEnumInstancesFiltered()
Capabilities:
Part of the Basic Read capability.
Addition:
Added in CMPI 2.1.
CMPIEnumeration*(* CMPIBrokerFT::associatorsFiltered)(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath, const char *assocClass, const char *resultClass, const char *role, const char *resultRole, const char **properties, const char *filterQueryLanguage, const char *filterQuery, CMPIStatus *rc)

Enumerate the instances associated with a given source instance, returning only those that match the given filters.

CMPIBrokerFT.associatorsFiltered() enumerates the instances associated with a given source instance, applying any filters defined in the arguments to return only instances that match the filters. If no such instances are found, the function will return success with an empty enumeration.

The target MIs are identified by the MB based on instPath.

Because the response interface does not support extended error responses, there is no argument to request continue on error as part of this function. The MB is expected to invoke any target MIs with continueOnError set to false.

Parameters
mbPoints to a CMPIBroker structure.
ctxPoints to a CMPIContext object that specifies the same principal (CMPIPrincipal entry), role (CMPIRole entry), accept language (CMPIAcceptLanguage entry), and content language (CMPIContentLanguage entry) as the CMPIContext object that was used to invoke the MI function that calls this MB function. Any invocation flags (CMPIInvocationFlags entry) will be ignored by this function.
instPathPoints to a CMPIObjectPath object that references the given source instance and that shall contain the namespace, class name, and key components. The hostname component, if present, will be ignored by the MB.
assocClassIf not NULL, shall be a valid association class name. It acts as a filter on the returned set of objects by mandating that each returned object must be associated with the source object via an instance of this class or one of its subclasses.
resultClassIf not NULL, shall be a valid class name. It acts as a filter on the returned set of objects by mandating that each returned object shall be an instance of this class or one of its subclasses.
roleIf not NULL, shall be a valid property name. It acts as a filter on the returned set of objects by mandating that each returned object must be associated with the source object via an association in which the source object plays the specified role (i.e., the name of the property in the association class that refers to the source object shall match the value of this argument).
resultRoleIf not NULL, shall be a valid property name. It acts as a filter on the returned set of objects by mandating that each returned object must be associated with the source object via an association in which the returned object plays the specified role (i.e., the name of the property in the association class that refers to the returned object shall match the value of this argument).
propertiesIf not NULL, an array of zero or more pointers to strings, each specifying a property name. The end of the array is identified by a NULL pointer. Each returned instance will not include elements for any properties missing from this list. If this argument is NULL, this indicates that all properties will be included in each returned instance.
filterQueryLanguageDefines the query language used by filterQuery. If filterQueryLanguage is NULL, filterQuery is ignored and no filtering is performed.
filterQueryDefines the query in the query language defined by filterQueryLanguage. If NULL, no filtering is performed.
[out]rcIf not NULL, points to a CMPIStatus structure that upon return will have been updated with the function return status.
Returns

If successful, a pointer to a new CMPIEnumeration object will be returned, containing CMPIInstance objects that represent the enumerated instances.

The new object will be automatically released by the MB, as described in Subclause 4.1.7 of the CMPI Standard. There is no function to explicitly release the new object.

If not successful, NULL will be returned.

Errors
The function return status will indicate one of the following CMPIrc codes:
  • CMPI_RC_OK - Function successful.
  • CMPI_RC_ERR_NOT_SUPPORTED - Function is not supported by this MI.
  • CMPI_RC_ERR_ACCESS_DENIED - Not authorized.
  • CMPI_RC_ERR_INVALID_HANDLE - The ctx or instPath handle is invalid.
  • CMPI_RC_ERR_INVALID_NAMESPACE - The namespace specified in instPath is invalid or does not exist.
  • CMPI_RC_ERR_INVALID_CLASS - The class specified in instPath is invalid or does not exist.
  • CMPI_RC_ERR_INVALID_PARAMETER - The assocClass, resultClass, role, resultRole, or properties arguments are invalid.
  • CMPI_RC_ERR_QUERY_LANGUAGE_NOT_SUPPORTED - The MB does not support the query language defined in the input arguments.
  • CMPI_RC_ERR_INVALID_QUERY - filterQuery is not a valid filter in the language defined by filterQueryLanguage.
  • CMPI_RC_ERR_QUERY_FEATURE_NOT_SUPPORTED - A feature of the query language is not supported.
  • CMPI_RC_ERR_SERVER_LIMITS_EXCEEDED - Limits exceeded.
  • CMPI_RC_ERR_FAILED - Other error occurred.
Extended error handling is not supported by this MB function; thus, any CMPIError objects returned by the targeted MI cannot be made available to the calling MI.
Convenience Function
CBAssociatorsFiltered()
Capabilities:
Part of the Association Traversal capability.
Addition:
Added in CMPI 2.1.
CMPIEnumeration*(* CMPIBrokerFT::referencesFiltered)(const CMPIBroker *mb, const CMPIContext *ctx, const CMPIObjectPath *instPath, const char *resultClass, const char *role, const char **properties, const char *filterQueryLanguage, const char *filterQuery, CMPIStatus *rc)

Enumerate the instances referencing a given source instance, returning only those that match the given filters.

CMPIBrokerFT.referencesFiltered() enumerates the instances referencing a given source instance, applying any filters defined in the arguments to return only instances that match the filters. If no such instances are found, the function will return success with an empty enumeration.

The target MIs are identified by the MB based on instPath.

Because the response interface does not support extended error responses, there is no argument to request continue on error as part of this function. The MB is expected to invoke any target MIs with continueOnError set to false.

Parameters
mbPoints to a CMPIBroker structure.
ctxPoints to a CMPIContext object that specifies the same principal (CMPIPrincipal entry), role (CMPIRole entry), accept language (CMPIAcceptLanguage entry), and content language (CMPIContentLanguage entry) as the CMPIContext object that was used to invoke the MI function that calls this MB function. Any invocation flags (CMPIInvocationFlags entry) will be ignored by this function.
instPathPoints to a CMPIObjectPath object that references the given source instance and that shall contain the namespace, class name, and key components. The hostname component, if present, will be ignored by the MB.
resultClassIf not NULL, shall be a valid class name. It acts as a filter on the returned set of objects by mandating that each returned object shall be an instance of this class or one of its subclasses.
roleIf not NULL, shall be a valid property name. It acts as a filter on the returned set of objects by mandating that each returned object must be associated with the source object via an association in which the source object plays the specified role (i.e., the name of the property in the association class that refers to the source object shall match the value of this argument).
propertiesIf not NULL, an array of zero or more pointers to strings, each specifying a property name. The end of the array is identified by a NULL pointer. Each returned instance will not include elements for any properties missing from this list. If this argument is NULL, this indicates that all properties will be included in each returned instance.
filterQueryLanguageDefines the query language used by filterQuery. If filterQueryLanguage is NULL, filterQuery is ignored and no filtering is performed.
filterQueryDefines the query in the query language defined by filterQueryLanguage. If NULL, no filtering is performed.
[out]rcIf not NULL, points to a CMPIStatus structure that upon return will have been updated with the function return status.
Returns

If successful, a pointer to a new CMPIEnumeration object will be returned, containing CMPIInstance objects that represent the enumerated instances.

The new object will be automatically released by the MB, as described in Subclause 4.1.7 of the CMPI Standard. There is no function to explicitly release the new object.

If not successful, NULL will be returned.

Errors
The function return status will indicate one of the following CMPIrc codes:
  • CMPI_RC_OK - Function successful.
  • CMPI_RC_ERR_NOT_SUPPORTED - Function is not supported by this MI.
  • CMPI_RC_ERR_ACCESS_DENIED - Not authorized.
  • CMPI_RC_ERR_INVALID_HANDLE - The ctx or instPath handle is invalid.
  • CMPI_RC_ERR_INVALID_NAMESPACE - The namespace specified in instPath is invalid or does not exist.
  • CMPI_RC_ERR_INVALID_CLASS - The class specified in instPath is invalid or does not exist.
  • CMPI_RC_ERR_INVALID_PARAMETER - The resultClass, role, or properties arguments are invalid.
  • CMPI_RC_ERR_QUERY_LANGUAGE_NOT_SUPPORTED - The MB does not support the query language defined in the input arguments.
  • CMPI_RC_ERR_INVALID_QUERY - filterQuery is not a valid filter in the language defined by filterQueryLanguage.
  • CMPI_RC_ERR_QUERY_FEATURE_NOT_SUPPORTED - A feature of the query language is not supported.
  • CMPI_RC_ERR_SERVER_LIMITS_EXCEEDED - Limits exceeded.
  • CMPI_RC_ERR_FAILED - Other error occurred.
Extended error handling is not supported by this MB function; thus, any CMPIError objects returned by the targeted MI cannot be made available to the calling MI.
Convenience Function
CBReferencesFiltered()
Capabilities:
Part of the Association Traversal capability.
Addition:
Added in CMPI 2.1.