CMPI 2.1.0 API
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Variables
Factory Services (Subclause 9.1)

Variables

CMPIInstance *(* CMPIBrokerEncFT::newInstance )(const CMPIBroker *mb, const CMPIObjectPath *instPath, CMPIStatus *rc)
 Create a new CMPIInstance object initialized to a given instance path. More...
 
CMPIObjectPath *(* CMPIBrokerEncFT::newObjectPath )(const CMPIBroker *mb, const char *ns, const char *cn, CMPIStatus *rc)
 Create a new CMPIObjectPath initialized to a given namespace and class name. More...
 
CMPIArgs *(* CMPIBrokerEncFT::newArgs )(const CMPIBroker *mb, CMPIStatus *rc)
 Create a new CMPIArgs object initialized to have no method parameters. More...
 
CMPIString *(* CMPIBrokerEncFT::newString )(const CMPIBroker *mb, const char *data, CMPIStatus *rc)
 Create a new CMPIString object initialized from a C-language string. More...
 
CMPIArray *(* CMPIBrokerEncFT::newArray )(const CMPIBroker *mb, CMPICount size, CMPIType type, CMPIStatus *rc)
 Create a new CMPIArray object of a given size and type of elements. More...
 
CMPIDateTime *(* CMPIBrokerEncFT::newDateTime )(const CMPIBroker *mb, CMPIStatus *rc)
 Create a new CMPIDateTime object initialized to the current date and time. More...
 
CMPIDateTime *(* CMPIBrokerEncFT::newDateTimeFromBinary )(const CMPIBroker *mb, CMPIUint64 binTime, CMPIBoolean interval, CMPIStatus *rc)
 Create a new CMPIDateTime object initialized to a specific value. More...
 
CMPIDateTime *(* CMPIBrokerEncFT::newDateTimeFromChars )(const CMPIBroker *mb, const char *datetime, CMPIStatus *rc)
 Create a new CMPIDateTime object initialized to a specified value. More...
 
CMPISelectExp *(* CMPIBrokerEncFT::newSelectExp )(const CMPIBroker *mb, const char *query, const char *lang, CMPIArray **projection, CMPIStatus *rc)
 Create a new CMPISelectExp object initialized from a select expression specified in a query language. More...
 
CMPIError *(* CMPIBrokerEncFT::newCMPIError )(const CMPIBroker *mb, const char *owner, const char *msgID, const char *msg, const CMPIErrorSeverity sev, const CMPIErrorProbableCause pc, const CMPIrc cimStatusCode, CMPIStatus *rc)
 Create a new CMPIError object initialized with certain core attributes. More...
 
CMPIPropertyList *(* CMPIBrokerEncFT::newPropertyList )(const CMPIBroker *mb, const char **properties, CMPIStatus *rc)
 Create a new CMPIPropertyList object initialized to a list of property names. More...
 
CMPIString *(* CMPIBrokerEncFT::newStringCP )(const CMPIBroker *mb, const char *data, const CMPICodepageID cpid, CMPIStatus *rc)
 Create a new CMPIString object from a C-language string in a specific codepage. More...
 
CMPIEnumerationFilter *(* CMPIBrokerEncFT::newEnumerationFilter )(const CMPIBroker *mb, const char *filterQueryLanguage, const char *filterQuery, CMPIStatus *rc)
 Create a new CMPIEnumerationFilter object initialized with a filter query. More...
 

Detailed Description

Variable Documentation

CMPIInstance*(* CMPIBrokerEncFT::newInstance)(const CMPIBroker *mb, const CMPIObjectPath *instPath, CMPIStatus *rc)

Create a new CMPIInstance object initialized to a given instance path.

CMPIBrokerEncFT.newInstance() creates a new CMPIInstance object that is initialized to a given instance path.

The new CMPIInstance object should have no properties. In CMPI 2.1, all other behaviors w.r.t. setting properties in the new CMPIInstance object (such as setting all class-defined properties, or setting properties with non-Null default values in their class definition), were deprecated. Note that the purpose of class-defined default values for properties is to act as defaults for unspecified input properties when a client creates an instance, and not to act as defaults for not explicitly set properties when a client retrieves an instance.

Parameters
mbPoints to a CMPIBroker structure.
instPathPoints to a CMPIObjectPath object. The object path of the new CMPIInstance object will be set to the object path in instPath The object path in instPath shall specify a non-NULL namespace and a non-NULL creation class name. The object path shall specify no or all keys for the instance. The object path may specify a non-NULL host name for the instance (this is used for instances returned by cross-host associations).
[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 the new CMPIInstance object will be returned.

The new object will be automatically released by the MB, as described in Subclause 4.1.7 of the CMPI Standard. If the new object is no longer used by the MI, it may be explicitly released by the MI using CMPIBrokerMemFT.freeInstance().

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_INVALID_HANDLE - The instPath handle is invalid, or other object path components specified in instPath are invalid.
  • CMPI_RC_ERR_INVALID_NAMESPACE - The namespace specified in instPath is invalid or does not exist.
  • CMPI_RC_ERR_NOT_FOUND - The class specified in instPath is not found.
Convenience Function
CMNewInstance()
CMPIObjectPath*(* CMPIBrokerEncFT::newObjectPath)(const CMPIBroker *mb, const char *ns, const char *cn, CMPIStatus *rc)

Create a new CMPIObjectPath initialized to a given namespace and class name.

CMPIBrokerEncFT.newObjectPath() creates a new CMPIObjectPath object that is initialized to a given namespace and class name.

Parameters
mbPoints to a CMPIBroker structure.
nsNamespace name.
cnClass 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 pointer to the new CMPIObjectPath object will be returned.

The new object will be automatically released by the MB, as described in Subclause 4.1.7 of the CMPI Standard. If the new object is no longer used by the MI, it may be explicitly released by the MI using CMPIBrokerMemFT.freeObjectPath().

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_INVALID_HANDLE - The mb handle is invalid.
  • CMPI_RC_ERR_INVALID_NAMESPACE - The namespace specified in ns is invalid or does not exist.
  • CMPI_RC_ERR_NOT_FOUND - The class specified in cn is invalid or does not exist.
Convenience Function
CMNewObjectPath()
CMPIArgs*(* CMPIBrokerEncFT::newArgs)(const CMPIBroker *mb, CMPIStatus *rc)

Create a new CMPIArgs object initialized to have no method parameters.

CMPIBrokerEncFT.newArgs() creates a new CMPIArgs object that is initialized to have no method parameters.

Parameters
mbPoints to a CMPIBroker structure.
[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 the new CMPIArgs object will be returned.

The new object will be automatically released by the MB, as described in Subclause 4.1.7 of the CMPI Standard. If the new object is no longer used by the MI, it may be explicitly released by the MI using CMPIBrokerMemFT.freeArgs().

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_INVALID_HANDLE - The mb handle is invalid.
Convenience Function
CMNewArgs()
CMPIString*(* CMPIBrokerEncFT::newString)(const CMPIBroker *mb, const char *data, CMPIStatus *rc)

Create a new CMPIString object initialized from a C-language string.

CMPIBrokerEncFT.newString() creates a new CMPIString object that is initialized from a C-language string.

Parameters
mbPoints to a CMPIBroker structure.
dataC-language string used to initialize the new CMPIString object.
[out]rcIf not NULL, points to a CMPIStatus structure that upon return will have been updated with the function return status.
Returns

If successful, the newly created CMPIString will be returned.

The new object will be automatically released by the MB, as described in Subclause 4.1.7 of the CMPI Standard. If the new object is no longer used by the MI, it may be explicitly released by the MI using CMPIBrokerMemFT.freeString().

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_INVALID_HANDLE - The mb handle is invalid.
Convenience Function
CMNewString()
CMPIArray*(* CMPIBrokerEncFT::newArray)(const CMPIBroker *mb, CMPICount size, CMPIType type, CMPIStatus *rc)

Create a new CMPIArray object of a given size and type of elements.

CMPIBrokerEncFT.newArray() returns a new CMPIArray object of a given size and type of elements. The elements of the array will exist and will have been set to the specified type and to NULL.

Once created, the size of the array cannot be changed. This is still suitable for both fixed-size and variable-size CIM arrays, because CMPIArray is used only during the time a particular array value is transmitted between MB and MI, and even for variable-size CIM arrays, the actual array value does not change during that time.

Parameters
mbPoints to a CMPIBroker structure.
sizeSize of the array. A value of 0 is valid and specifies an empty array.
typeType of each element. type specifies the type of single array elements; for example, the value for an array that contains CMPIString objects will be CMPI_string, and not CMPI_stringA.
[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 the new CMPIArray object will be returned.

The new object will be automatically released by the MB, as described in Subclause 4.1.7 of the CMPI Standard. If the new object is no longer used by the MI, it may be explicitly released by the MI using CMPIBrokerMemFT.freeArray().

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_INVALID_HANDLE - The mb handle is invalid.
  • CMPI_RC_ERR_INVALID_DATA_TYPE - Data type not valid.
Convenience Function
CMNewArray()
CMPIDateTime*(* CMPIBrokerEncFT::newDateTime)(const CMPIBroker *mb, CMPIStatus *rc)

Create a new CMPIDateTime object initialized to the current date and time.

CMPIBrokerEncFT.newDateTime() creates a new CMPIDateTime object that is initialized with the current date and time.

Parameters
mbPoints to a CMPIBroker structure.
[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 the new CMPIDateTime object will be returned.

The new object will be automatically released by the MB, as described in Subclause 4.1.7 of the CMPI Standard. If the new object is no longer used by the MI, it may be explicitly released by the MI using CMPIBrokerMemFT.freeDateTime().

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_INVALID_HANDLE - The mb handle is invalid.
Convenience Function
CMNewDateTime()
CMPIDateTime*(* CMPIBrokerEncFT::newDateTimeFromBinary)(const CMPIBroker *mb, CMPIUint64 binTime, CMPIBoolean interval, CMPIStatus *rc)

Create a new CMPIDateTime object initialized to a specific value.

CMPIBrokerEncFT.newDateTimeFromBinary() creates a new CMPIDateTime object that is initialized with the specified date and time.

Parameters
mbPoints to a CMPIBroker structure.
binTimeWhen interval is false, binTime contains a point in time value expressed as a 64-bit unsigned integer in microseconds since 00:00:00 GMT, January 1, 1970. Otherwise, binTime contains a time interval expressed as a 64-bit unsigned integer in microseconds.
intervalIf true, indicates that binTime is considered to be a time interval.
[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 the new CMPIDateTime object will be returned.

The new object will be automatically released by the MB, as described in Subclause 4.1.7 of the CMPI Standard. If the new object is no longer used by the MI, it may be explicitly released by the MI using CMPIBrokerMemFT.freeDateTime().

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_INVALID_HANDLE - The mb handle is invalid.
Convenience Function
CMNewDateTimeFromBinary()
CMPIDateTime*(* CMPIBrokerEncFT::newDateTimeFromChars)(const CMPIBroker *mb, const char *datetime, CMPIStatus *rc)

Create a new CMPIDateTime object initialized to a specified value.

CMPIBrokerEncFT.newDateTimeFromChars() creates a new CMPIDateTime object that is initialized with the specified date and time.

Parameters
mbPoints to a CMPIBroker structure.
datetimeDate/time value to be used for the new object in the string format for CIM datetime values defined in DSP0004. Both the interval and point in time formats are supported.
[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 the new CMPIDateTime object will be returned.

The new object will be automatically released by the MB, as described in Subclause 4.1.7 of the CMPI Standard. If the new object is no longer used by the MI, it may be explicitly released by the MI using CMPIBrokerMemFT.freeDateTime().

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_INVALID_HANDLE - The mb handle is invalid.
  • CMPI_RC_ERR_INVALID_PARAMETER - The datetime format is invalid.
Convenience Function
CMNewDateTimeFromChars()
CMPISelectExp*(* CMPIBrokerEncFT::newSelectExp)(const CMPIBroker *mb, const char *query, const char *lang, CMPIArray **projection, CMPIStatus *rc)

Create a new CMPISelectExp object initialized from a select expression specified in a query language.

CMPIBrokerEncFT.newSelectExp() creates a new CMPISelectExp object that is initialized from a select expression specified in a query language.

Parameters
mbPoints to a CMPIBroker structure.
querySelect expression.
langQuery language.
[out]projectionPoints to a CMPIArray pointer that upon success will have been updated to point to a new CMPIArray object of CMPIString entries containing the projection specification. The pointer will be set to NULL if no projection was specified in the select expression. The projection specification is query language-specific. Hence the entries format of the projection output array CMPIString might be different depending on the query language. Be sure to check lang for the query language your MI will support.
[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 the new CMPISelectExp object will be returned.

The new object will be automatically released by the MB, as described in Subclause 4.1.7 of the CMPI Standard. If the new object is no longer used by the MI, it may be explicitly released by the MI using CMPIBrokerMemFT.freeSelectExp().

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 the MB.
  • CMPI_RC_ERR_INVALID_HANDLE - The mb handle is invalid.
  • CMPI_RC_ERR_QUERY_LANGUAGE_NOT_SUPPORTED - The query language is not supported.
  • CMPI_RC_ERR_INVALID_QUERY - The query expression is not valid.
Convenience Function
CMNewSelectExp()
Capabilities:
Part of the Query Normalization capability.
Change:
In CMPI 2.1, added the return code CMPI_RC_ERR_NOT_SUPPORTED, because this function depends on support for the Query Normalization capability in the MB.
Bug:
The CMPI Standard declares the projection argument of this function with an incorrect const in its type: const CMPIArray** projection. This prevents the MB to return the data to this output parameter, and the declaration should be changed to the type CMPIArray** projection.
CMPIError*(* CMPIBrokerEncFT::newCMPIError)(const CMPIBroker *mb, const char *owner, const char *msgID, const char *msg, const CMPIErrorSeverity sev, const CMPIErrorProbableCause pc, const CMPIrc cimStatusCode, CMPIStatus *rc)

Create a new CMPIError object initialized with certain core attributes.

CMPIBrokerEncFT.newCMPIError() creates a new CMPIError object that is initialized with certain core attributes.

The input data may (or may not) be defined in a DMTF message registry (see DSP0228 for the format of message registries, and DSP8016 for the messages defined for the MI functions of CMPI).

Any attributes of the new CMPIError object that are not initializeable via input arguments of this function will have an initial value of NULL.

Parameters
mbPoints to a CMPIBroker structure.
ownerValue for the OwningEntity attribute of the CMPIError object. For a description of the OwningEntity attribute, see the description of the OwningEntity property in the CIM_Error class in the CIM Schema. If the error message is defined in a DMTF message registry, the string value of owner shall be the content of the OWNING_ENTITY element defined for the registry.
msgIDValue for the MessageID attribute of the CMPIError object. For a description of the MessageID attribute, see the description of the MessageID property in the CIM_Error class in the CIM Schema. If the error message is defined in a DMTF message registry, the string value of msgID shall be the message ID defined for the message in the registry (the concatenation of the values of the PREFIX and SEQUENCE_NUMBER attributes of the MESSAGE_ID element for the message).
msgValue for the Message attribute of the CMPIError object. For a description of the Message attribute, see the description of the Message property in the CIM_Error class in the CIM Schema. This message is the formatted and translated message, with any dynamic values expanded.
sevA CMPIErrorSeverity enumeration value specifying the value for the PerceivedSeverity attribute of the CMPIError object. For a description of the PerceivedSeverity attribute, see the description of the PerceivedSeverity property in the CIM_Error class in the CIM Schema. If the error message is defined in a DMTF message registry, the string value of sev shall be the content of the PERCEIVED_SEVERITY element defined for the message in the registry.
pcA CMPIErrorProbableCause enumeration value specifying the value for the ProbableCause attribute of the CMPIError object. For a description of the ProbableCause attribute, see the description of the ProbableCause property in the CIM_Error class in the CIM Schema. If the error message is defined in a DMTF message registry, note that the string value of pc is not defined in the message in the registry.
cimStatusCodeA CMPIrc enumeration value specifying the value for the CIMStatusCode attribute of the CMPIError object. For a description of the CIMStatusCode attribute, see the description of the CIMStatusCode property in the CIM_Error class in the CIM Schema. Not all status codes are valid for each operation. The specification for each MI function defines the status codes that may be returned. If the error message is defined in a DMTF message registry, cimStatusCode shall reflect the content of the CIMSTATUSCODE element defined for the message in the registry.
[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 the new CMPIError object 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.

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 the MB. (Deprecated)
  • CMPI_RC_ERR_INVALID_HANDLE - The mb handle is invalid.
  • CMPI_RC_ERR_INVALID_PARAMETER - One of the parameters is invalid.
  • CMPI_RC_ERR_FAILED - Other error occurred.
Convenience Function
CMNewCMPIError()
Capabilities:
Part of the Extended Errors capability.
Addition:
Added in CMPI 2.0.
Requirement Change:
Required to be supported since CMPI 2.1.
Deprecated:
The return code CMPI_RC_ERR_NOT_SUPPORTED of this function is deprecated since CMPI 2.1. It will not be returned because the Extended Errors capability will be available.
CMPIPropertyList*(* CMPIBrokerEncFT::newPropertyList)(const CMPIBroker *mb, const char **properties, CMPIStatus *rc)

Create a new CMPIPropertyList object initialized to a list of property names.

CMPIBrokerEncFT.newPropertyList() creates a new CMPIPropertyList that is initialized to a list of property names.

Parameters
mbPoints to a CMPIBroker structure.
propertiesPoints to the first entry of a NULL-terminated array of pointers to C strings that specify the property names in the property list. The entries in that array may be in any order and in any lexical case.
[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 the new CMPIPropertyList object 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.

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_INVALID_HANDLE - The mb handle is invalid.
Convenience Function
CMNewPropertyList()
Addition:
Added in CMPI 2.1.
CMPIString*(* CMPIBrokerEncFT::newStringCP)(const CMPIBroker *mb, const char *data, const CMPICodepageID cpid, CMPIStatus *rc)

Create a new CMPIString object from a C-language string in a specific codepage.

CMPIBrokerEncFT.newStringCP() creates a new CMPIString object that is initialized from a C-language string in a specific codepage

Parameters
mbPoints to a CMPIBroker structure.
dataC-language string represented in the codepage specified in cpid. data is used to initialize the new CMPIString object after converting it from its codepage to UTF-8.
cpidCMPI-specific codepage ID for the codepage that is used to interpret the Bytes in the data argument. See CMPICodepageID for a list of supported codepages and their codepage ID values.
[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 the new CMPIString object containing the UTF-8 represented string will be returned.

The new object will be released automatically by the MB, as described in Subclause 4.1.7 of the CMPI Standard. If the new object is no longer used by the MI, it may be explicitly released by the MI using CMPIBrokerMemFT.freeString().

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_INVALID_HANDLE - The mb handle is invalid.
Convenience Function
CMNewStringCP()
Capabilities:
Part of the Codepage Conversion capability.
Addition:
Added in CMPI 2.1.
CMPIEnumerationFilter*(* CMPIBrokerEncFT::newEnumerationFilter)(const CMPIBroker *mb, const char *filterQueryLanguage, const char *filterQuery, CMPIStatus *rc)

Create a new CMPIEnumerationFilter object initialized with a filter query.

CMPIBrokerEncFT.newEnumerationFilter() creates a new CMPIEnumerationFilter object that is initialized with a filter query.

Parameters
mbPoints to a CMPIBroker structure.
filterQueryLanguageQuery language used for filterQuery. If this argument is NULL, the new CMPIEnumerationFilter object will be set to define that no filtering is to be performed.
filterQueryValid query in the query language defined by filterQueryLanguage. If this argument is NULL, the new CMPIEnumerationFilter object will be set to define that no filtering is to be 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 CMPIEnumerationFilter object 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.

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_INVALID_HANDLE - The mb handle is invalid.
  • CMPI_RC_ERR_QUERY_LANGUAGE_NOT_SUPPORTED - filterQueryLanguage defines a query language that the MI does not recognize.
  • CMPI_RC_ERR_INVALID_QUERY - filterQuery is not a valid query in the specified filter query language.
  • CMPI_RC_ERR_QUERY_FEATURE_NOT_SUPPORTED - A feature of the query language is not supported.
Convenience Function
CMNewEnumerationFilter()
Addition:
Added in CMPI 2.1.