Chamando o código gerenciado de C não gerenciado

Então, depois de cerca de um dia e meio com isso eu fiz nenhum progresso.

Eu preciso escrever uma DLL em C que é usado um plugin para um aplicativo existente. A DLL deve ser compilada pelo compilador do Visual Studio 2008 com as seguintes opções

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

É então vinculado à biblioteca de aplicativos.

O que realmente precisa fazer e o que está me causando problemas é que dentro de um dos métodos que ele precisa para extrair dados de um sql server 2008 r2.

Pelo que vi hoje, você não seria capaz de fazer isso diretamente em C, já que o SQL Server após 2005 foi projetado para se comunicar com linguagens CLR (C #, C ++, VB.Net).

Foi sugerido que eu cuido de toda a comunicação do banco de dados com uma dll VB.Net e, em seguida, chamar a função de dentro da dll C.

A maioria do que eu encontrei no tópico de chamar dll gerenciado de código não gerenciado falou sobre pinvoke ou com wrappers e principalmente a partir da perspectiva de c + +.

Eu tenho zero experiência com COM ou qualquer técnica mencionada, então se alguém poderia ajudar seria muito apreciado.

questionAnswers(3)

yourAnswerToTheQuestion