Думать о COM полезно. Вообще полезно знать, как оно работает. После трех дней убойного гугления я сделал то, что мне было нужно, на чистом С++ без ATL и MFC. Реализовывал интерфейсы и AddRef-ы. Да, муторно, зато просветлился. Вопрос закрывается.
Ну-ну. Чем радуют отечественные форумы - даже на конкретно расписанный вопрос идет ответ - сменить язык :) Вы что, хотите сказать, что нужно переписать проект ради одного вызова функции? Это черт возьми передача указателя. Я знаю, как минимум два способа это сделать, но специально не написал, т.к. не уверен в их правильности.
Смысл в том, что конфиг пишет конечный пользователь. Я написал же - как самораспаковывающийся архив. Пользователь решает, что именно паковать.
В принципе, я думаю можно приписать в конец модуля нужный контент и все дела
Поле с добавленным индексом имеет плохую селективность. Примерно 5-6 различных значений и каждое значение входит в выборку примерно с одинаковой вероятностью. Итого получается, что индекс выберет 5-6 наборов одинаковой длины по этому полю. Т.е. особой выгоды от этого индекса не будет, вот, скорее всего поэтому и Table Scan. Полагаю, что убрать скан по такому полю не получится.