Вы разрабатываете COM объект используя ATL. Ваш компонент реализует два интерфейса с именами ISimple и IComplex. Оба эти интерфейса Dual(двойные). Вы хотите, чтобы ISample можно было использовать в VBS.
Какую Com карту Вы должны выбрать для интерфейса?
Правильный ответ А. Во-первых, мы должны объявить двойной интерфейс. А это можно сделать макросами либо COM_INTERFACE_ENTRY2 либо COM_INTERFACE_ENTRY2_IID. Причина в том, что для VB, VBS нужен IDispatch. Так что остается всего два варианта А и D. Они совершенно равнозначны, да вот только с вариантом D проблемы. Данный макрос описан как
COM_INTERFACE_ENTRY2_IID( iid, x, x2 )
Не хватает третьего параметра с именем второго интерфейса. Значит объявление не правильное и остается вариант A.