Здравствуйте, LordAhriman, Вы писали:
LA>При вызове коллбэка происходит AV
Подозреваю, что из-за того, что Вы насильственно приводите тип функции CConvertHelper::acmFormatTagEnumCallback к ACMFORMATTAGENUMCB. Значит, что-то в типах не совпадает — например, calling convention. А может, у Вас эта функция вообще нестатическая, хотя редкий компилятор согласится на такое преобразование. Не нужно насильственно приводить типы без крайней необходимости — это лишь добавляет возможных проблем.
Module handle в сallback-функцию передавать совершенно незачем — слово instance здесь обозначает произвольное значение, определяемое пользователем (например, указатель на некий уникальный экземпляр данных), а не тип HINSTANCE, который передается в ACMFORMATCHOOSE, чтобы обеспечить доступ к ресурсам модуля.
Кстати, зачем вручную приводить указатель к void * в memset? Это, как раз, делается автоматически и безопасно.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>