Один из наиболее простых способов - использовать одно из созданных мастером решений, в частности мастер «Проект ATL» в VS 2008 (не уверен насчет 2003). Вы просто выбираете «DLL», когда вас спрашивают, какой тип сервера вам нужен, и у вас остается очень полезный скелет COM DLL, где можно заполнить ваш код.
Совет: чтобы добавить новый COM-интерфейс и Coclass, самый простой способ - перейти в View Class, щелкнуть правой кнопкой мыши по проекту и выбрать Add-> Class ..., затем выбрать «ATL Simple Object» и ответить вопросы мастера.
РЕДАКТИРОВАТЬ : чтобы ответить на дополнительный вопрос Тото в комментариях (как создать клиент для использования только что созданной COM DLL), ответ «это зависит от языка», поскольку у вас Огромный выбор здесь. Вы можете использовать VB («добавить ссылку»), C # / VB.NET («добавить ссылку», вкладка COM), VBScript (WScript.CreateObject) и, конечно, C ++. В двух словах, из клиента C ++ необходимо включить IDL сервера и ссылку на файл LIB сервера.