Здравствуйте, BorysB, Вы писали:
Для функции
BB>id(0x00000007), helpcontext(0x00061a86)]
BB>void DocumentBeforePrint([in] Document* Doc, [in,out] VARIANT_BOOL* Cancel);
управляющий код данных будет:
BB>_ATL_FUNC_INFO DocumentBeforePrintInfo = {CC_STDCALL, VT_EMPTY, 2, {VT_DISPATCH, VT_BOOL|VT_BYREF}};
BB>Тогда параметры должны передаваться мне,..по ссылке?........? Почти ничего не понимаю.
Правила просты: если есть *, то к типу добавляешь |VT_BYREF, но если тип — интерфейс, то добавлять не надо, т.к. интерфейс сам имеет одну *. Чтобы интерфейс имел |VT_BYREF, нужно чтобы было две *, т.е. [in] Document** Doc.