2.2.2 Property Formats

The definition of a property in a table (see section 3.1.1.3 for details) includes the domain of valid property values, its representation on the wire, and the semantics of the configuration it represents. The fields of a property's PropertyMeta (section 2.2.1.7) structure represent some low-level typing metadata--a simple type (one of the eDataType (section 2.2.1.2) values), size, and whether or not null is a valid value--but do not specify any higher-level constraints or semantics. For example, many properties that are represented as an eDT_ULONG are required to have a value from an enumeration, where each enumeration value has a specific meaning. The following sections specify common types for properties in tables, where the constraints and semantics are not clearly implied by the property's PropertyMeta values.

For historical reasons, COMA does not apply a consistent requirement for server and client validation responsibilities across all property types. For example, some type validity constraints require only server validation, while others require only client validation. Therefore, validity constraints on the types defined in these sections are specified separately from the validation requirements for servers and clients. For details on server and client validation requirements, see sections 3.1.4.9.1 and 3.2.4.6 respectively.

Each property type definition includes the following information:

Simple type: The eDataType value for properties of this type, as used when representing a property of this type in a call to the ICatalogTableRead::ReadTable (section 3.1.4.8.1) and ICatalogTableWrite::WriteTable (section 3.1.4.9.1) methods. If properties of this type are also used as method parameters, the wire representation used in these methods is mentioned here as well.

Validity: Constraints on the values that represent valid configuration for properties of this type. If a property of this type is set to a value that does not conform to these constraints, the resulting ORB behavior is undefined.

Server validation: Requirements for validation of writes received by a server implementation.

Client validation: Requirements for validation of writes sent by a protocol client implementation on behalf of a client application.