dmaClass_DMA

The DMA base class.

Class ID: dmaClass_DMA
Superclass: None

Interfaces

IUnknown
IdmaObject
IdmaProperties

Properties

Name

Impl. Required

System Gen'ed

Read-Only

Value Required

Type

Cardinality

Required Class

OIID

-

Yes

Yes

-

String

Scalar

Class Description

Yes

Yes

Yes

Yes

Object

Scalar

Class Description

This

-

Yes

Yes

Yes

Object

Scalar

DMA

Create Pending

-

Yes

Yes

Yes

Boolean

Scalar

Update Pending

-

Yes

Yes

Yes

Boolean

Scalar

Delete Pending

-

Yes

Yes

Yes

Boolean

Scalar

Detailed Description

The ultimate superclass of all DMA classes.

The Object ID, Create Flag, Update Flag and Delete Flag properties introduced here should only be implemented in subclasses which represent independently persistable objects.

Property Descriptions

• OIID {dmaProp_OIID}

This property is the unique instance Id of this particular object.

• Class Description {dmaProp_ClassDescription}

The Class Description object describing this object's class.

This property provides access from this object to the descriptive information about the class of this object.

• This {dmaProp_This}

A synthetic, object-valued property that has as its implicit value the DMA object itself. It's primary purpose is to enable the expression of relationships among objects in DMA queries and to select candidate objects in query results.

This object-valued property is an exception to the general rules for the by-reference behavior of object-valued properties. When the property is supported by an object, the behavior of

rc = pMyObjectProperties -> GetPropValObjectById(&dmaProp_This, riid, ppIObjectValue)

is equivalent to that of the preferable, always-supported operation

rc = pMyObjectProperties -> QueryInterface(riid, ppIObjectValue)

Using a DMA object’s IdmaProperties interface, the property behaves as if it is always bound and has nothing to do with any persistent object associated with the DMA object. Refreshing and other operations between a scratchpad object and a persistent object have no impact whatsoever on the This property of a DMA object.

[ In every class description for a DMA Object inherited from the dmaClass_DMA class, the Required Class of Object restriction is always to the very class being described. In addition, proper subclasses of that class will never occur. This is part of the system-generated quality of dmaProp_This properties. ]

• Create Pending {dmaProp_CreatePending}

If set, this flag indicates to ExecuteChange and ExecuteChanges that the current scratchpad object is to be created as a new persistent object.

• Update Pending {dmaProp_UpdatePending}

If set, this flag indicates to ExecuteChange and ExecuteChanges that the current object is already persistent, and its properties are to be modified.

• Delete Pending {dmaProp_DeletePending}

If set, this flag indicates to ExecuteChange and ExecuteChanges that the current object is already persistent, and is to be deleted.