Previous Table of Contents Next


19.3.2 Special Cases of Basic Data Type Mapping


   An operation of an Automation View Interface must perform bidirectional translation of the Automation and CORBA parameters and return types. It must map from Automation to CORBA for in parameters and from CORBA to Automation for out parameters. The translation logic must handle the special conditions described in the following sections.

   19.3.2.1 Converting Automation long to CORBA unsigned long

   If the Automation long parameter is a negative number, then the View operation should return the HRESULT DISP_E_OVERFLOW.

   19.3.2.2 Demoting CORBA unsigned long to Automation long

   If the CORBA::ULong parameter is greater than the maximum value of an Automation long, then the View operation should return the HRESULT DISP_E_OVERFLOW.

   19.3.2.3 Demoting Automation long to CORBA unsigned short

   If the Automation long parameter is negative or is greater than the maximum value of a CORBA::UShort, then the View operation should return the HRESULT DISP_E_OVERFLOW.

   19.3.2.4 Converting Automation boolean to CORBA boolean and CORBA boolean to Automation boolean

   True and false values for CORBA boolean are, respectively, one (1) and zero (0). True and false values for Automation boolean are, respectively, negative one (-1) and zero (0). Therefore, true values need to be adjusted accordingly.