Advanced marshaling в C#

Сейчас работаю над сложным, но интересным проектом в C# с кучей хаков и перехватчиков API и COM интерфейсов. И у меня появилось несколько новых вещей которые я бы хотел записать. Надеюсь поможет кому-то при написании чего-то подобного, не сорвав сроки. Подобная документация конечно имеется в интернете (маршалинг в С#) тем не менее я хочу расширить тему и остановиться на конкретных примерах импорта из DirectX и других библиотек.

В сети есть полно разных оберток для использования этих технологий, и все же, мне не нравится использовать непереносимые, монструозные решения типа C++/CLI или кучи дополнительных DLL, когда размер DLL обертки имеет размер, приближенный к самой DLL, которую импортируем (пример — SlimDX).

Читать далее