IdmaEditProperties

This interface allows writing and deleting DMA property values of any DMA base property type: Binary, Boolean, DateTime, Float, Identifier, Integer, Object, or String. Properties may be chosen either by their index in the object's class description list, or by their property identifier (e.g. dmaProp_RenditionsPresent). Both indices and property ids can be found from the object's meta-data. Some Property Ids are well known and can be used directly without investigation of the meta-data.

The methods used to access DMA Properties are segmented into two interfaces, the methods that allow readonly access to the properties (IdmaProperties), and the methods that allow modification of the properties (IdmaEditProperties). The IdmaEditProperties interface is available only on objects that are editable. It offers all the methods of the IdmaProperties interface, as well as those listed below.

When any method in this interface is called successfully, the UpdatePending property for the target object is set to TRUE unconditionally, even if the new value that the property is being set to is exactly the same as the old value.

IdmaEditProperties::DeletePropValById

Support for this method is optional.

Syntax
DmaRC IdmaEditProperties::DeletePropValById (
pDmaId pPropertyId)

Parameters

Name

Mode

Description

pPropertyId

input

A pointer to the identifier of the property to be obtained. This identifier may be well-known or obtained from the meta-data.

Description

Deletes the property value for the property selected by its identifier, which is either "well-known" or obtained from the meta-data. The effect is that a subsequent call to a GetPropVal method will return DMARC_VALUE_NOT_SET. Any value set for the property will be appropriately freed as part of this operation.

This operation must fail, with return code DMARC_ILLEGAL_OPERATION, if applied to a list or enumeration property.

Return Values

Name

Description

DMARC_BAD_PROPID

A property identifier is not valid.

DMARC_ILLEGAL_OPERATION

The operation is disallowed by the DMA Specification.

DMARC_NOT_SUPPORTED

This method is not supported in the context of this session or object.

DMARC_OK

(S_OK) Success.

DMARC_READ_ONLY

Method failed because an object or property is read-only.

DMARC_VALUE_NOT_SET

The requested property currently has no value.

Deferred Return Values

Name

Description

DMARC_CONSTRAINT_VIOLATED

The operation violates a constraint of the implementation.

IdmaEditProperties::DeletePropValByIndex

Support for this method is optional.

Syntax
DmaRC IdmaEditProperties::DeletePropValByIndex (
DmaIndex32 iIndex)

Parameters

Name

Mode

Description

iIndex

input

An index for the property that is to be modified. This index may be obtained from the meta-data.

Description

Deletes the property value for the property identified by the index, which is defined by the object's Class Description. The effect is that a subsequent call to a GetPropVal method will return DMARC_VALUE_NOT_SET. Any value set for the property will be appropriately freed as part of this operation.

This operation must fail, with return code DMARC_ILLEGAL_OPERATION, if applied to a list or enumeration property.

Return Values

Name

Description

DMARC_BAD_INDEX

The index specified does not reference a valid property or list element.

DMARC_ILLEGAL_OPERATION

The operation is disallowed by the DMA Specification.

DMARC_NOT_SUPPORTED

This method is not supported in the context of this session or object.

DMARC_OK

(S_OK) Success.

DMARC_READ_ONLY

Method failed because an object or property is read-only.

DMARC_VALUE_NOT_SET

The requested property currently has no value.

Deferred Return Values

Name

Description

DMARC_CONSTRAINT_VIOLATED

The operation violates a constraint of the implementation.

IdmaEditProperties::PutPropValBinaryById

Support for this method is optional.

Syntax
DmaRC IdmaEditProperties::PutPropValBinaryById (
pDmaId pPropertyId,
DmaBinaryValue* pBinaryValue)

Parameters

Name

Mode

Description

pPropertyId

input

A pointer to the identifier of the property to be modified. This identifier may be well-known or obtained from the meta-data.

pBinaryValue

input

A pointer to the buffer containing the binary value.

Description

Assigns a Property Value as a fixed number of bytes. This is one of the basic data types used for property values. The property of interest is located using its identifier, which is either "well-known" or obtained from the meta-data.

Return Values

Name

Description

DMARC_BAD_PARAMETER

(E_INVALIDARG) Invalid input parameter.

DMARC_BAD_PROPID

A property identifier is not valid.

DMARC_BAD_VALUE

The value given for a property or list element lies outside the permitted range or value set, or exceeds the maximum length allowed.

DMARC_DATATYPE_MISMATCH

The method invoked is inappropriate for the datatype of the property.

DMARC_NOT_SUPPORTED

This method is not supported in the context of this session or object.

DMARC_OK

(S_OK) Success.

DMARC_READ_ONLY

Method failed because an object or property is read-only.

Deferred Return Values

Name

Description

DMARC_CONSTRAINT_VIOLATED

The operation violates a constraint of the implementation.

IdmaEditProperties::PutPropValBinaryByIndex

Support for this method is optional.

Syntax
DmaRC IdmaEditProperties::PutPropValBinaryByIndex (
DmaIndex32 iIndex,
DmaBinaryValue* pBinaryValue)

Parameters

Name

Mode

Description

iIndex

input

An index for the property that is to be modified. This index may be obtained from the meta-data.

pBinaryValue

input

A pointer to the buffer containing the binary value.

Description

Assigns a Property Value as a fixed number of bytes. This is one of the basic data types used for property values. The property of interest is located using its index, which is defined by the object's Class Description.

Return Values

Name

Description

DMARC_BAD_INDEX

The index specified does not reference a valid property or list element.

DMARC_BAD_PARAMETER

(E_INVALIDARG) Invalid input parameter.

DMARC_BAD_VALUE

The value given for a property or list element lies outside the permitted range or value set, or exceeds the maximum length allowed.

DMARC_DATATYPE_MISMATCH

The method invoked is inappropriate for the datatype of the property.

DMARC_NOT_SUPPORTED

This method is not supported in the context of this session or object.

DMARC_OK

(S_OK) Success.

DMARC_READ_ONLY

Method failed because an object or property is read-only.

Deferred Return Values

Name

Description

DMARC_CONSTRAINT_VIOLATED

The operation violates a constraint of the implementation.

IdmaEditProperties::PutPropValBooleanById

Support for this method is optional.

Syntax
DmaRC IdmaEditProperties::PutPropValBooleanById (
pDmaId pPropertyId,
DmaBoolean bBooleanValue)

Parameters

Name

Mode

Description

pPropertyId

input

A pointer to the identifier of the property to be modified. This identifier may be well-known or obtained from the meta-data.

bBooleanValue

input

The boolean value of the Property to be assigned.

Description

Assigns a Property Value as a boolean. This is one of the basic data types used for property values. The property of interest is located using its identifier, which is either "well-known" or obtained from the meta-data.

Return Values

Name

Description

DMARC_BAD_PARAMETER

(E_INVALIDARG) Invalid input parameter.

DMARC_BAD_PROPID

A property identifier is not valid.

DMARC_BAD_VALUE

The value given for a property or list element lies outside the permitted range or value set, or exceeds the maximum length allowed.

DMARC_DATATYPE_MISMATCH

The method invoked is inappropriate for the datatype of the property.

DMARC_NOT_SUPPORTED

This method is not supported in the context of this session or object.

DMARC_OK

(S_OK) Success.

DMARC_READ_ONLY

Method failed because an object or property is read-only.

Deferred Return Values

Name

Description

DMARC_CONSTRAINT_VIOLATED

The operation violates a constraint of the implementation.

IdmaEditProperties::PutPropValBooleanByIndex

Support for this method is optional.

Syntax
DmaRC IdmaEditProperties::PutPropValBooleanByIndex (
DmaIndex32 iIndex,
DmaBoolean bBooleanValue)

Parameters

Name

Mode

Description

iIndex

input

An index for the property that is to be modified. This index may be obtained from the meta-data.

bBooleanValue

input

The boolean value of the Property to be assigned.

Description

Assigns a Property Value as a boolean. This is one of the basic data types used for property values. The property of interest is located using its index, which is defined by the object's meta-data.

Return Values

Name

Description

DMARC_BAD_INDEX

The index specified does not reference a valid property or list element.

DMARC_BAD_PARAMETER

(E_INVALIDARG) Invalid input parameter.

DMARC_BAD_VALUE

The value given for a property or list element lies outside the permitted range or value set, or exceeds the maximum length allowed.

DMARC_DATATYPE_MISMATCH

The method invoked is inappropriate for the datatype of the property.

DMARC_NOT_SUPPORTED

This method is not supported in the context of this session or object.

DMARC_OK

(S_OK) Success.

DMARC_READ_ONLY

Method failed because an object or property is read-only.

Deferred Return Values

Name

Description

DMARC_CONSTRAINT_VIOLATED

The operation violates a constraint of the implementation.

IdmaEditProperties::PutPropValDateTimeById

Support for this method is optional.

Syntax
DmaRC IdmaEditProperties::PutPropValDateTimeById (
pDmaId pPropertyId,
pDmaDateTime pDateTimeValue)

Parameters

Name

Mode

Description

pPropertyId

input

A pointer to the identifier of the property to be modified. This identifier may be well-known or obtained from the meta-data.

pDateTimeValue

input

A pointer to the DateTime to be assigned to the property.

Description

Assigns a DateTime valued property. The property of interest is located using its identifier, which is either "well-known" or obtained from the meta-data.

Return Values

Name

Description

DMARC_BAD_PARAMETER

(E_INVALIDARG) Invalid input parameter.

DMARC_BAD_PROPID

A property identifier is not valid.

DMARC_BAD_VALUE

The value given for a property or list element lies outside the permitted range or value set, or exceeds the maximum length allowed.

DMARC_DATATYPE_MISMATCH

The method invoked is inappropriate for the datatype of the property.

DMARC_NOT_SUPPORTED

This method is not supported in the context of this session or object.

DMARC_OK

(S_OK) Success.

DMARC_READ_ONLY

Method failed because an object or property is read-only.

Deferred Return Values

Name

Description

DMARC_CONSTRAINT_VIOLATED

The operation violates a constraint of the implementation.

IdmaEditProperties::PutPropValDateTimeByIndex

Support for this method is optional.

Syntax
DmaRC IdmaEditProperties::PutPropValDateTimeByIndex (
DmaIndex32 iIndex,
pDmaDateTime pDateTimeValue)

Parameters

Name

Mode

Description

iIndex

input

An index for the property that is to be modified. This index may be obtained from the meta-data.

pDateTimeValue

input

A pointer to the DateTime to be assigned to the property.

Description

Assigns a DateTime valued property. The property of interest is indicated by its index in the set of properties for the object.

Return Values

Name

Description

DMARC_BAD_INDEX

The index specified does not reference a valid property or list element.

DMARC_BAD_PARAMETER

(E_INVALIDARG) Invalid input parameter.

DMARC_BAD_VALUE

The value given for a property or list element lies outside the permitted range or value set, or exceeds the maximum length allowed.

DMARC_DATATYPE_MISMATCH

The method invoked is inappropriate for the datatype of the property.

DMARC_NOT_SUPPORTED

This method is not supported in the context of this session or object.

DMARC_OK

(S_OK) Success.

DMARC_READ_ONLY

Method failed because an object or property is read-only.

Deferred Return Values

Name

Description

DMARC_CONSTRAINT_VIOLATED

The operation violates a constraint of the implementation.

IdmaEditProperties::PutPropValFloat64ById

Support for this method is optional.

Syntax
DmaRC IdmaEditProperties::PutPropValFloat64ById (
pDmaId pPropertyId,
DmaFloat64 fFloatValue)

Parameters

Name

Mode

Description

pPropertyId

input

A pointer to the identifier of the property to be modified. This identifier may be well-known or obtained from the meta-data.

fFloatValue

input

The float value of the Property to be assigned.

Description

Assigns a Property Value as a float, which must be 64 bits and signed. This is one of the basic data types used for property values. The property of interest is located using its identifier, which is either "well-known" or obtained from the meta-data.

Return Values

Name

Description

DMARC_BAD_PARAMETER

(E_INVALIDARG) Invalid input parameter.

DMARC_BAD_PROPID

A property identifier is not valid.

DMARC_BAD_VALUE

The value given for a property or list element lies outside the permitted range or value set, or exceeds the maximum length allowed.

DMARC_DATATYPE_MISMATCH

The method invoked is inappropriate for the datatype of the property.

DMARC_NOT_SUPPORTED

This method is not supported in the context of this session or object.

DMARC_OK

(S_OK) Success.

DMARC_READ_ONLY

Method failed because an object or property is read-only.

Deferred Return Values

Name

Description

DMARC_CONSTRAINT_VIOLATED

The operation violates a constraint of the implementation.

IdmaEditProperties::PutPropValFloat64ByIndex

Support for this method is optional.

Syntax
DmaRC IdmaEditProperties::PutPropValFloat64ByIndex (
DmaIndex32 iIndex,
DmaFloat64 fFloatValue)

Parameters

Name

Mode

Description

iIndex

input

An index for the property that is to be modified. This index may be obtained from the meta-data.

fFloatValue

input

The float value of the Property to be assigned.

Description

Assigns a Property Value as a float, which must be 64 bits and signed. This is one of the basic data types used for property values. The property of interest is located using its index, which is defined by the object's meta-data.

Return Values

Name

Description

DMARC_BAD_INDEX

The index specified does not reference a valid property or list element.

DMARC_BAD_PARAMETER

(E_INVALIDARG) Invalid input parameter.

DMARC_DATATYPE_MISMATCH

The method invoked is inappropriate for the datatype of the property.

DMARC_NOT_SUPPORTED

This method is not supported in the context of this session or object.

DMARC_OK

(S_OK) Success.

DMARC_READ_ONLY

Method failed because an object or property is read-only.

Deferred Return Values

Name

Description

DMARC_CONSTRAINT_VIOLATED

The operation violates a constraint of the implementation.

IdmaEditProperties::PutPropValIdById

Support for this method is optional.

Syntax
DmaRC IdmaEditProperties::PutPropValIdById (
pDmaId pPropertyId,
pDmaId pIdValue)

Parameters

Name

Mode

Description

pPropertyId

input

A pointer to the identifier of the property to be modified. This identifier may be well-known or obtained from the meta-data.

pIdValue

input

A pointer to the Id to be assigned to the property.

Description

Assigns a DMA identifier valued property. The property of interest is located using its identifier, which is either "well-known" or obtained from the meta-data.

Return Values

Name

Description

DMARC_BAD_PARAMETER

(E_INVALIDARG) Invalid input parameter.

DMARC_BAD_PROPID

A property identifier is not valid.

DMARC_BAD_VALUE

The value given for a property or list element lies outside the permitted range or value set, or exceeds the maximum length allowed.

DMARC_DATATYPE_MISMATCH

The method invoked is inappropriate for the datatype of the property.

DMARC_NOT_SUPPORTED

This method is not supported in the context of this session or object.

DMARC_OK

(S_OK) Success.

DMARC_READ_ONLY

Method failed because an object or property is read-only.

Deferred Return Values

Name

Description

DMARC_CONSTRAINT_VIOLATED

The operation violates a constraint of the implementation.

IdmaEditProperties::PutPropValIdByIndex

Support for this method is optional.

Syntax
DmaRC IdmaEditProperties::PutPropValIdByIndex (
DmaIndex32 iIndex,
pDmaId pIdValue)

Parameters

Name

Mode

Description

iIndex

input

An index for the property that is to be modified. This index may be obtained from the meta-data.

pIdValue

input

A pointer to the Id to be assigned to the property.

Description

Assigns a DMA identifier valued property. The property of interest is indicated by its index in the set of properties for the object.

Return Values

Name

Description

DMARC_BAD_INDEX

The index specified does not reference a valid property or list element.

DMARC_BAD_PARAMETER

(E_INVALIDARG) Invalid input parameter.

DMARC_BAD_VALUE

The value given for a property or list element lies outside the permitted range or value set, or exceeds the maximum length allowed.

DMARC_DATATYPE_MISMATCH

The method invoked is inappropriate for the datatype of the property.

DMARC_NOT_SUPPORTED

This method is not supported in the context of this session or object.

DMARC_OK

(S_OK) Success.

DMARC_READ_ONLY

Method failed because an object or property is read-only.

Deferred Return Values

Name

Description

DMARC_CONSTRAINT_VIOLATED

The operation violates a constraint of the implementation.

IdmaEditProperties::PutPropValInteger32ById

Support for this method is optional.

Syntax
DmaRC IdmaEditProperties::PutPropValInteger32ById (
pDmaId pPropertyId,
DmaInteger32 lIntegerValue)

Parameters

Name

Mode

Description

pPropertyId

input

A pointer to the identifier of the property to be modified. This identifier may be well-known or obtained from the meta-data.

lIntegerValue

input

The integer value of the Property to be assigned.

Description

Assigns a Property Value as a long integer, which must be 32 bits and signed. This is one of the basic data types used for property values. The property of interest is located using its identifier, which is either "well-known" or obtained from the meta-data.

Return Values

Name

Description

DMARC_BAD_PARAMETER

(E_INVALIDARG) Invalid input parameter.

DMARC_BAD_PROPID

A property identifier is not valid.

DMARC_BAD_VALUE

The value given for a property or list element lies outside the permitted range or value set, or exceeds the maximum length allowed.

DMARC_DATATYPE_MISMATCH

The method invoked is inappropriate for the datatype of the property.

DMARC_NOT_SUPPORTED

This method is not supported in the context of this session or object.

DMARC_OK

(S_OK) Success.

DMARC_READ_ONLY

Method failed because an object or property is read-only.

Deferred Return Values

Name

Description

DMARC_CONSTRAINT_VIOLATED

The operation violates a constraint of the implementation.

IdmaEditProperties::PutPropValInteger32ByIndex

Support for this method is optional.

Syntax
DmaRC IdmaEditProperties::PutPropValInteger32ByIndex (
DmaIndex32 iIndex,
DmaInteger32 lIntegerValue)

Parameters

Name

Mode

Description

iIndex

input

An index for the property that is to be modified. This index may be obtained from the meta-data.

lIntegerValue

input

The integer value of the Property to be assigned.

Description

Assigns a Property Value as a long integer, which must be 32 bits and signed. This is one of the basic data types used for property values. The property of interest is located using its index, which is defined by the object's meta-data.

Return Values

Name

Description

DMARC_BAD_INDEX

The index specified does not reference a valid property or list element.

DMARC_BAD_PARAMETER

(E_INVALIDARG) Invalid input parameter.

DMARC_BAD_VALUE

The value given for a property or list element lies outside the permitted range or value set, or exceeds the maximum length allowed.

DMARC_DATATYPE_MISMATCH

The method invoked is inappropriate for the datatype of the property.

DMARC_NOT_SUPPORTED

This method is not supported in the context of this session or object.

DMARC_OK

(S_OK) Success.

DMARC_READ_ONLY

Method failed because an object or property is read-only.

Deferred Return Values

Name

Description

DMARC_CONSTRAINT_VIOLATED

The operation violates a constraint of the implementation.

IdmaEditProperties::PutPropValObjectById

Support for this method is optional.

Syntax
DmaRC IdmaEditProperties::PutPropValObjectById (
pDmaId pPropertyId,
Dmapv pIObjectValue)

Parameters

Name

Mode

Description

pPropertyId

input

A pointer to the identifier of the property to be assigned. This identifier may be well-known or obtained from the meta-data.

pIObjectValue

input

A interface for the DMA object to be assigned to the property.

Description

Assigns a Property Value, in object form, to a property. The property of interest is located using its identifier, which is either "well-known" or obtained from the meta-data. This can be used, for instance, to assign a property value list into its owning object.

This operation must fail, with return code DMARC_ILLEGAL_OPERATION, if applied to a list or enumeration property.

Return Values

Name

Description

DMARC_BAD_OBJECT

An inappropriate object was passed as parameter to this function. For example, the object does not support a required interface or is of an inappropriate class.

DMARC_BAD_PARAMETER

(E_INVALIDARG) Invalid input parameter.

DMARC_BAD_PROPID

A property identifier is not valid.

DMARC_DATATYPE_MISMATCH

The method invoked is inappropriate for the datatype of the property.

DMARC_ILLEGAL_OPERATION

The operation is disallowed by the DMA Specification.

DMARC_NOT_SUPPORTED

This method is not supported in the context of this session or object.

DMARC_OK

(S_OK) Success.

DMARC_READ_ONLY

Method failed because an object or property is read-only.

Deferred Return Values

Name

Description

DMARC_CONSTRAINT_VIOLATED

The operation violates a constraint of the implementation.

IdmaEditProperties::PutPropValObjectByIndex

Support for this method is optional.

Syntax
DmaRC IdmaEditProperties::PutPropValObjectByIndex (
DmaIndex32 iIndex,
Dmapv pIObjectValue)

Parameters

Name

Mode

Description

iIndex

input

An index for the property that is to be modified. This index may be obtained from the meta-data.

pIObjectValue

input

A interface for the DMA object to be assigned to the property.

Description

Assigns a Property Value, in object form, to a property. The property of interest is located using its index, which is defined by the object's meta-data. This can be used, for instance, to assign a property value list into its owning object.

This operation must fail, with return code DMARC_ILLEGAL_OPERATION, if applied to a list or enumeration property.

Return Values

Name

Description

DMARC_BAD_INDEX

The index specified does not reference a valid property or list element.

DMARC_BAD_OBJECT

An inappropriate object was passed as parameter to this function. For example, the object does not support a required interface or is of an inappropriate class.

DMARC_BAD_PARAMETER

(E_INVALIDARG) Invalid input parameter.

DMARC_DATATYPE_MISMATCH

The method invoked is inappropriate for the datatype of the property.

DMARC_ILLEGAL_OPERATION

The operation is disallowed by the DMA Specification.

DMARC_NOT_SUPPORTED

This method is not supported in the context of this session or object.

DMARC_OK

(S_OK) Success.

DMARC_READ_ONLY

Method failed because an object or property is read-only.

Deferred Return Values

Name

Description

DMARC_CONSTRAINT_VIOLATED

The operation violates a constraint of the implementation.

IdmaEditProperties::PutPropValStringById

Support for this method is optional.

Syntax
DmaRC IdmaEditProperties::PutPropValStringById (
pDmaId pPropertyId,
pDmaString pStringValue)

Parameters

Name

Mode

Description

pPropertyId

input

A pointer to the identifier of the property to be modified. This identifier may be well-known or obtained from the meta-data.

pStringValue

input

A pointer to the Property Value string to be assigned to the property.

Description

Assigns a string valued property. The property of interest is located using its identifier, which is either "well-known" or obtained from the meta-data.

Return Values

Name

Description

DMARC_BAD_PARAMETER

(E_INVALIDARG) Invalid input parameter.

DMARC_BAD_PROPID

A property identifier is not valid.

DMARC_BAD_VALUE

The value given for a property or list element lies outside the permitted range or value set, or exceeds the maximum length allowed.

DMARC_DATATYPE_MISMATCH

The method invoked is inappropriate for the datatype of the property.

DMARC_NOT_SUPPORTED

This method is not supported in the context of this session or object.

DMARC_OK

(S_OK) Success.

DMARC_READ_ONLY

Method failed because an object or property is read-only.

Deferred Return Values

Name

Description

DMARC_CONSTRAINT_VIOLATED

The operation violates a constraint of the implementation.

IdmaEditProperties::PutPropValStringByIndex

Support for this method is optional.

Syntax
DmaRC IdmaEditProperties::PutPropValStringByIndex (
DmaIndex32 iIndex,
pDmaString pStringValue)

Parameters

Name

Mode

Description

iIndex

input

An index for the property that is to be modified. This index may be obtained from the meta-data.

pStringValue

input

A pointer to the Property Value string to be assigned to the property.

Description

Assigns a string valued property. The property of interest is indicated by its index in the set of properties for the object.

Return Values

Name

Description

DMARC_BAD_INDEX

The index specified does not reference a valid property or list element.

DMARC_BAD_PARAMETER

(E_INVALIDARG) Invalid input parameter.

DMARC_BAD_VALUE

The value given for a property or list element lies outside the permitted range or value set, or exceeds the maximum length allowed.

DMARC_DATATYPE_MISMATCH

The method invoked is inappropriate for the datatype of the property.

DMARC_NOT_SUPPORTED

This method is not supported in the context of this session or object.

DMARC_OK

(S_OK) Success.

DMARC_READ_ONLY

Method failed because an object or property is read-only.

Deferred Return Values

Name

Description

DMARC_CONSTRAINT_VIOLATED

The operation violates a constraint of the implementation.