Я пишу адаптер .NET для библиотеки C / C ++, где метод "bar" принимает обычный stdio FILE *. Можно ли построить интерфейс, чтобы пользователь управляемого кода мог передавать управляемый (файловый) поток? Это без создания промежуточного буфера и кода для передачи данных между ними. Также делает предположение, что bar () read только улучшает ситуацию?
// native code
void bar(FILE*);
// interface for managed code
void foo(System::IO::FileStream^ file)
{
FILE* stdio_handle = ???;
bar(stdio_handle);
}