Aufrufen von verwaltetem Code aus nicht verwaltetem C

Nach ungefähr anderthalb Tagen habe ich also keine Fortschritte gemacht.

Ich muss eine DLL in C schreiben, die ein Plugin für eine vorhandene Anwendung verwendet. Die DLL muss vom Visual Studio 2008-Compiler mit den folgenden Optionen kompiliert werden

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

Es ist dann mit der Anwendungsbibliothek verknüpft.

Was es tatsächlich tun muss und was mich zu den Problemen veranlasst, ist, dass es innerhalb einer der Methoden Daten von einem SQL Server 2008 R2 abruft.

Nach dem, was ich heute gesehen habe, könnten Sie dies nicht direkt in C tun, da SQL Server für die Kommunikation mit CLR-Sprachen (C #, C ++, VB.Net) entwickelt wurde.

Es wurde vorgeschlagen, dass ich die gesamte Datenbankkommunikation mit einer VB.Net-DLL erledige und diese Funktion dann von der C-DLL aus aufrufe.

Das meiste, was ich zum Thema Aufrufen von verwalteten DLLs aus nicht verwaltetem Code gefunden habe, hat sich mit Pinvoke- oder COM-Wrappern befasst, und zwar hauptsächlich aus der Perspektive von c ++.

Ich habe null Erfahrung mit COM oder irgendwelchen erwähnten Techniken, also, wenn jemand helfen könnte, würde es sehr geschätzt.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage