2010-06-10 4 views
0

Я хочу получить типы и данные в простой Win32.dll, как мы можем в COM. В COM все встраивание внутри idl приводит к TLB, MSFT предоставляет APIS, в котором мы можем извлекать типы.Получение типов в Win32 Dll

Мне нужны типы, определенные в Win32, и все детали этого типа (например, члены и его типы). Разбор PE-файла и поиск экспортированных таблиц дает только экспортированные функции, я хочу, чтобы в нем были определены все пользовательские типы (интерфейсы Win32, классы и элементы-члены с типами).

ответ

1

Попробуйте сначала, имеет ли pinvoke.net определения для Win32 API. Если да, скопируйте файл & в исходный код. Если они недоступны, вы можете использовать существующие исправления и документацию MSDN и заголовочные файлы SDK для ручной обработки правильных сигнатур методов и структур данных.

Другой вариант - ввести C++ CLI, который может создать смешанную сборку родного CLR. Проект CLI может использовать API Win32 так же, как и собственный проект на C++, и выявить более высокий уровень .Net-интерфейса для ваших других сборок.