Previous Table of Contents Next


17.7.8 Naming Conventions for View Components


   17.7.8.1 Naming the COM View Interface

   The default name for the COM View’s Interface should be:

   I<module name>_<interface name>For example, if the module name is “MyModule? and the interface name is “MyInterface,? then the default name should be:IMyModule_MyInterface

   If the module containing the interface is itself nested within other modules, the default name should be:

   I<module name>_<module name>_...<module name>_<interface name>

   where the module names read from outermost on the left to innermost on the right. Extending our example, if module “MyModule? were nested within module “OuterModule,? then the default name shall be:

   IOuterModule_MyModule_MyInterface

   17.7.8.2 Tag for the Automation Interface Id

   No standard tag is required for Automation and Dual Interface IDs because client programs written in Automation controller environments such as Visual Basic are not expected to explicitly use the UUID value.

   17.7.8.3 Naming the Automation View Dispatch Interface

   The default name of the Automation View’s Interface should be:

   D<module name>_<interface name>

   For example, if the module name is “MyModule? and the interface name is “MyInterface,? then the default name should be:

   DMyModule_MyInterface

   If the module containing the interface is itself nested within other modules, the default name should be:

   D<module name>_<module name>_...<module name>_<interface name>

   where the module names read from outermost on the left to innermost on the right. Extending our example, if module “MyModule? were nested within module “OuterModule,? then the default name shall be:

   DOuterModule_MyModule_MyInterface

   17.7.8.4 Naming the Automation View Dual Interface

   The default name of the Automation Dual View’s Interface should be:

   DI<module name>_<interface name>

   For example, if the module name is “MyModule? and the interface name is “MyInterface,? then the default name should be:

   DIMyModule_MyInterface

   If the module containing the interface is itself nested within other modules, the default name should be:

   DI<module name>_<module name>_...<module name>_<interface name>

   where the module names read from outermost on the left to innermost on the right. Extending our example, if module “MyModule? were nested within module “OuterModule,? then the default name will be:

   DIOuterModule_MyModule_MyInterface

   17.7.8.5 Naming the Program Id for the COM Class

   If a separate COM class is registered for each View Interface, then the default Program Id for that class will be:

   <module name> “.? <module name> “.? ...<module name> “.? <interface name>

   where the module names read from outermost on the left to innermost on the right. In our example, the default Program Id will be:

   “OuterModule.MyModule.MyInterface?

   17.7.8.6 Naming the Class Id for the COM Class

   If a separate COM co-class is registered for each Automation View Interface, then the default tag for the COM Class Id (CLSID) for that class should be:

   CLSID_<module name>_<module name>_...<module name>_<interface name>

   where the module names read from outermost on the left to innermost on the right. In our example, the default CLSID tag should be:

   CLSID_OuterModule_MyModule_MyInterface