struct _CMPIInstanceMIFT

This structure is a table of pointers providing access to Instance provider functions.

Documentation

This structure is a table of pointers providing access to Instance provider functions. This table must be returend during initialization by the provider.

[more]int ftVersion
Function table version
[more]int miVersion
Provider version
[more]const char* miName
Provider name
[more]CMPIStatus (*cleanup)(CMPIInstanceMI* mi, const CMPIContext* ctx, CMPIBoolean terminating)
The CMPIInstanceMIFTcleanup() function shall perform any necessary cleanup operation prior to the unloading of the library of which this MI group is part.
[more]CMPIStatus (*enumerateInstanceNames)(CMPIInstanceMI* mi, const CMPIContext* ctx, const CMPIResult* rslt, const CMPIObjectPath* op)
Enumerate ObjectPaths of Instances serviced by this provider.
[more]CMPIStatus (*enumerateInstances)(CMPIInstanceMI* mi, const CMPIContext* ctx, const CMPIResult* rslt, const CMPIObjectPath* op, const char** properties)
Enumerate the Instances serviced by this provider.
[more]CMPIStatus (*getInstance)(CMPIInstanceMI* mi, const CMPIContext* ctx, const CMPIResult* rslt, const CMPIObjectPath* op, const char** properties)
Get the Instances defined by <op>.
[more]CMPIStatus (*createInstance)(CMPIInstanceMI* mi, const CMPIContext* ctx, const CMPIResult* rslt, const CMPIObjectPath* op, const CMPIInstance* inst)
Create Instance from <inst> using <op> as reference.
[more]CMPIStatus (*modifyInstance)(CMPIInstanceMI* mi, const CMPIContext* ctx, const CMPIResult* rslt, const CMPIObjectPath* op, const CMPIInstance* inst, const char** properties)
Replace an existing Instance from <inst> using <op> as reference.
[more]CMPIStatus (*deleteInstance)(CMPIInstanceMI* mi, const CMPIContext* ctx, const CMPIResult* rslt, const CMPIObjectPath* op)
Delete an existing Instance defined by <op>.
[more]CMPIStatus (*execQuery)(CMPIInstanceMI* mi, const CMPIContext* ctx, const CMPIResult* rslt, const CMPIObjectPath* op, const char* query, const char* lang)
Query the enumeration of instances of the class (and subclasses) defined by <op> using <query> expression.

oint ftVersion
Function table version

oint miVersion
Provider version

oconst char* miName
Provider name

oCMPIStatus (*cleanup)(CMPIInstanceMI* mi, const CMPIContext* ctx, CMPIBoolean terminating)
The CMPIInstanceMIFTcleanup() function shall perform any necessary cleanup operation prior to the unloading of the library of which this MI group is part. This function is called prior to the unloading of the provider.

Parameters:
mi - The mi argument is a pointer to a CMPIInstanceMI structure.
ctx - The ctx argument is a pointer to a CMPIContext structure containing the Invocation Context.
terminating - When true, the terminating argument indicates that the MB is in the process of terminating and that cleanup must be done. When set to false, the MI may respond with CMPI_IRC_DO_NOT_UNLOAD, or CMPI_IRC_NEVER_UNLOAD, indicating that unload will interfere with current MI processing.
Returns:
Function return status. The following CMPIrc codes shall be recognized: CMPI_RC_OK Operation successful. CMPI_RC_ERR_FAILED Unspecific error occurred. CMPI_RC_DO_NOT_UNLOAD Operation successful - do not unload now. CMPI_RC_NEVER_UNLOAD Operation successful - never unload.o

oCMPIStatus (*enumerateInstanceNames)(CMPIInstanceMI* mi, const CMPIContext* ctx, const CMPIResult* rslt, const CMPIObjectPath* op)
Enumerate ObjectPaths of Instances serviced by this provider.
Parameters:
mi - Provider this pointer.
ctx - Invocation Context.
rslt - Result data container.
op - ObjectPath containing namespace and classname components.
Returns:
Function return status. The following CMPIrc codes shall be recognized: CMPI_RC_OK Operation successful. CMPI_RC_ERR_FAILED Unspecific error occurred. CMPI_RC_ERR_NOT_SUPPORTED Operation not supported by this MI. CMPI_RC_ERR_ACCESS_DENIED Not authorized. CMPI_RC_ERR_NOT_FOUND Instance not found.

oCMPIStatus (*enumerateInstances)(CMPIInstanceMI* mi, const CMPIContext* ctx, const CMPIResult* rslt, const CMPIObjectPath* op, const char** properties)
Enumerate the Instances serviced by this provider.
Parameters:
mi - Provider this pointer.
ctx - Invocation Context.
rslt - Result data container.
op - ObjectPath containing namespace and classname components.
properties - If not NULL, the members of the array define one or more Property names. Each returned Object MUST NOT include elements for any Properties missing from this list.
Returns:
Function return status. The following CMPIrc codes shall be recognized: CMPI_RC_OK Operation successful. CMPI_RC_ERR_FAILED Unspecific error occurred. CMPI_RC_ERR_NOT_SUPPORTED Operation not supported by this MI. CMPI_RC_ERR_ACCESS_DENIED Not authorized. CMPI_RC_ERR_NOT_FOUND Instance not found.

oCMPIStatus (*getInstance)(CMPIInstanceMI* mi, const CMPIContext* ctx, const CMPIResult* rslt, const CMPIObjectPath* op, const char** properties)
Get the Instances defined by <op>.
Parameters:
mi - Provider this pointer.
ctx - Invocation Context.
rslt - Result data container.
op - ObjectPath containing namespace, classname and key components.
properties - If not NULL, the members of the array define one or more Property names. Each returned Object MUST NOT include elements for any Properties missing from this list.
Returns:
Function return status. The following CMPIrc codes shall be recognized: CMPI_RC_OK Operation successful. CMPI_RC_ERR_FAILED Unspecific error occurred. CMPI_RC_ERR_NOT_SUPPORTED Operation not supported by this MI. CMPI_RC_ERR_ACCESS_DENIED Not authorized. CMPI_RC_ERR_NOT_FOUND Instance not found.

oCMPIStatus (*createInstance)(CMPIInstanceMI* mi, const CMPIContext* ctx, const CMPIResult* rslt, const CMPIObjectPath* op, const CMPIInstance* inst)
Create Instance from <inst> using <op> as reference.
Parameters:
mi - Provider this pointer.
ctx - Invocation Context.
rslt - Result data container.
op - ObjectPath containing namespace, classname and key components.
inst - The Instance.
Returns:
Function return status. The following CMPIrc codes shall be recognized: CMPI_RC_OK Operation successful. CMPI_RC_ERR_FAILED Unspecific error occurred. CMPI_RC_ERR_NOT_SUPPORTED Operation not supported by this MI. CMPI_RC_ERR_ALREADY_EXISTS Instance already exists.

oCMPIStatus (*modifyInstance)(CMPIInstanceMI* mi, const CMPIContext* ctx, const CMPIResult* rslt, const CMPIObjectPath* op, const CMPIInstance* inst, const char** properties)
Replace an existing Instance from <inst> using <op> as reference.
Parameters:
mi - Provider this pointer.
ctx - Invocation Context.
rslt - Result data container.
op - ObjectPath containing namespace, classname and key components.
inst - The Instance.
properties - If not NULL, the members of the array define one or more Property names. The process MUST NOT replace elements for any Properties missing from this list. If NULL all properties will be replaced.
Returns:
Function return status.

oCMPIStatus (*deleteInstance)(CMPIInstanceMI* mi, const CMPIContext* ctx, const CMPIResult* rslt, const CMPIObjectPath* op)
Delete an existing Instance defined by <op>.
Parameters:
mi - Provider this pointer.
ctx - Invocation Context.
rslt - Result data container.
op - ObjectPath containing namespace, classname and key components.
Returns:
Function return status. The following CMPIrc codes shall be recognized: CMPI_RC_OK Operation successful. CMPI_RC_ERR_FAILED Unspecific error occurred. CMPI_RC_ERR_NOT_SUPPORTED Operation not supported by this MI. CMPI_RC_ERR_ACCESS_DENIED Not authorized. CMPI_RC_ERR_NOT_FOUND Instance not found.

oCMPIStatus (*execQuery)(CMPIInstanceMI* mi, const CMPIContext* ctx, const CMPIResult* rslt, const CMPIObjectPath* op, const char* query, const char* lang)
Query the enumeration of instances of the class (and subclasses) defined by <op> using <query> expression.
Parameters:
mi - Provider this pointer.
ctx - Context object
rslt - Result data container.
op - ObjectPath containing namespace and classname components.
query - Query expression
lang - Query language
Returns:
Function return status. The following CMPIrc codes shall be recognized: CMPI_RC_OK Operation successful. CMPI_RC_ERR_FAILED Unspecific error CMPI_RC_ERR_NOT_SUPPORTED Operation not supported by this MI. CMPI_RC_ERR_ACCESS_DENIED Not authorized. CMPI_RC_ERR_QUERY_LANGUAGE_NOT_SUPPORTED Query language not supported. CMPI_RC_ERR_INVALID_QUERY Invalid query.

Alphabetic index