You could also use an invisible container. In VB, add a form to your I/O-level DLL project, and set its Visible property to false. By default, all contained controls are on the form's public interface, so you can access the control from other modules in the DLL. You will, however, need to define delegators for events of interest (see attached sample).
In VC++, you can do the same thing with a CDialog - the key is to make it invisible at run time.
Bruce Landreth
Lexmark