Да, вы должны быть в состоянии сделать это. Однако имейте в виду, что вполне вероятно, что библиотека C была написана не для безопасности исключений, и в результате вы можете оставить некоторые структуры этой библиотеки в каком-то несовместимом состоянии. Это полностью зависит от конкретной библиотеки и от конкретной функции обратного вызова. Если бы не что иное, эту библиотеку, вероятно, нужно было бы написать с учетом поддержки C ++ с самого начала в отношении этого обратного вызова.