Previous | Table of Contents | Next |
MIDL supports three types of pointers:
• Reference pointer; a non-null pointer to a single item. The pointer cannot represent a data structure with cycles or aliasing (two pointers to the same address).
• Unique pointer; a (possibly null) pointer to a single item. The pointer cannot represent a data structure with cycles or aliasing.
• Full pointer; a (possibly null) pointer to a single item. Full pointers can be used for data structures, which form cycles or have aliases.
A reference pointer is mapped to a CORBA sequence containing one element. Unique pointers and full pointers with no aliases
or cycles are mapped to a CORBA sequence containing zero or one elements. If at run-time a COM client passes a full pointer
containing aliases or cycles to a CORBA server, E_DATA_CONVERSION is returned to the COM client. If a COM server attempts
to return a full pointer containing aliases or cycles to a CORBA client, a DATA_CONVERSION exception is raised.