Llamar al código administrado desde no administrado C

Así que después de aproximadamente un día y medio con esto, no he hecho ningún progreso.

Necesito escribir una DLL en C que se use como complemento para una aplicación existente. El compilador de Visual Studio 2008 debe compilar la DLL con las siguientes opciones

cl -DNT40 -DPOMDLL -DCRTAPI1 = _cdecl -DCRTAPI2 = cdecl -D_WIN32 -DWIN32 -DWIN32_LEA N_AND_MEAN -DWNT -DBYPASS_FLEX -D_INTEL = 1 -DIPLIB = ninguna -I. -I "C: \ plm \ 2T-RAC \ TcEx press53 \ include" -I "C: \ Archivos de programa (x86) \ Microsoft Visual Studio 8 \ VC \ include" -c -nologo -EHsc -W1 -Ox -Oy - -DM C: \ mydir \ myDll.c

Luego está vinculado a la biblioteca de aplicaciones.

Lo que realmente necesita hacer y lo que me está causando los problemas es que, dentro de uno de los métodos, necesita extraer datos de un servidor SQL 2008 r2.

Por lo que he visto hoy, no podría hacer esto directamente en C, ya que el SQL Server anterior a 2005 está diseñado para comunicarse con los idiomas CLR (C #, C ++, VB.Net).

Se sugirió que manejara toda la comunicación de la base de datos con una dll de VB.Net y luego llamara a dicha función desde la dll de C dll.

La mayor parte de lo que he encontrado sobre el tema de llamar a dll administrados desde código no administrado ha hablado de envoltorios de pinvoke o com y principalmente desde la perspectiva de c ++.

No tengo experiencia con COM ni con ninguna de las técnicas mencionadas, por lo que si alguien pudiera ayudarlo, sería muy apreciado.

Respuestas a la pregunta(3)

Su respuesta a la pregunta