Obtenga el código IDL de TypElibrary programáticamente
Pregunta
Estoy escribiendo código para realizar los siguientes pasos;
Registre un .net .dll y genere un .tlb usando regasm.exe
- Registre un .net .dll y genere un .tlb usando regasm.exe
- Genere el código IDL desde el typelibrary y guárdelo en un archivo.
- Edite el código IDL haciendo cambios menores.
- Recompire el IDL en un .TLB usando Midl.exe.
El paso en el que estoy atrapado, como estoy seguro de que has adivinado, es la generación del IDL. Sé que esto se puede hacer manualmente utilizando el OleViewer que viene con la API de Windows, sin embargo, me gustaría eliminar este paso manual.
Parece que no puedo encontrar de todos modos para operar el OleViewer a través de la línea de comandos o encontrar cualquier otro método para generar el código IDL.
¿Alguien tiene alguna idea? Sé que el código para generar el IDL debe estar en el Oleviewer en algún lugar ... ¿Quizás hay una manera de acceder a él?
Solución
El vino tiene una implementación de código abierto de OleView
http://source.winehq.org/git/wine.git/tree/head:/programs/oleview
Quizás pueda usar las funciones de enumeración de IDL en typelib.c
http://source.winehq.org/git/wine.git/blob/head:/programs/oleview/typelib.c