Share via


1.3.5 Bitness

For technical reasons, a COMA server might to make a distinction between instantiation of components in a process with a 32-bit or 64-bit address space. The term bitness refers to the distinction between 32-bit and 64-bit address spaces and the potential differences in instantiation of components that this entails.

For example, the target ORB can provide a local interoperability mechanism that instantiates a component in its creator's process. In this case, a server that supports both 32-bit and 64-bit address spaces would be required to determine whether a given component supports the creator's bitness. Furthermore, if a component supports multiple bitnesses, the details of its instantiation might be different. For example, each bitness might be implemented in a different module (section 1.3.6).

To support multiple bitnesses, a COMA server keeps a separate copy of a component's properties for each bitness the component supports and allows each bitness to be configured separately. Bitness is exposed in the catalog as a property of component configuration entries, and a COMA server enables a bitness-aware client to specify which bitness of a component that it is configuring.

Not all COMA servers support multiple component bitnesses. If a server supports only a single bitness, bitness is opaque to the client, and all flags and configuration options related to bitness are ignored. A bitness-aware client performs capability negotiation for the multiple-bitness capability (section 1.7) to determine whether it is required to select bitness when performing configuration.