Передача fstream (или эквивалента) из C # в C ++ через интерфейс командной строки

Как передать поток fstream или его эквивалент из C # через интерфейс командной строки в неуправляемую DLL C ++?

Примерная схема приложения:

  • Приложение C # считывает двоичный файл из базы данных
  • Неуправляемая библиотека C ++ используется для «декодирования» этого файла и возврата содержащейся в нем информации
  • Я могу изменить любой код C #. Оболочка CLI - единственная часть стороны C ++, которую я могу изменить.

] В настоящее время я сохраняю двоичный файл на диск и передаю путь к нему оболочке CLI, где он открывается как fstream. Это хорошо для тестовых целей, но не работает в производственной среде по очевидным причинам.

Я также изучал возможность передачи байтового массива в DLL, но мне не удалось найти способ преобразовать его в fstream, кроме GlobalAlloc, который я бы предпочел не использовать.

Любая помощь или идеи будут оценен.

Спасибо.

8
задан AaronN 6 July 2011 в 18:41
поделиться