Нужно сделать маленькую библиотеку в виде набора функций на C, клиентами которой могут быть как .net так и с-приложения. Параметры туда-обратно гоняются только скалярные, в т.ч. строки, managed нельзя, COM/ole неохота. Не встречались ли вам рекомендации по поводу грамотной организации контракта в такой вот архитектуре? Ну там, какой тип использовать для строк, Юникод-ascii, кто память выделяет и кто освобождает и т.п.?