Wywołanie zarządzanego kodu z niezarządzanego C

Więc po około półtora dniu z tym zrobiłem zero postępów.

Muszę napisać DLL w C, który jest używany jako wtyczka dla istniejącej aplikacji. DLL musi być skompilowany przez kompilator Visual Studio 2008 z następującymi opcjami

cl -DNT40 -DPOMDLL -DCRTAPI1 = _cdecl -DCRTAPI2 = cdecl -D_WIN32 -DWIN32 -DWIN32_LEA N_AND_MEAN -DWNT -DBYPASS_FLEX -D_INTEL = 1 -DIPLIB = brak -I. -I "C: pl 2T-RAC IcEx press53 zawiera" -I "C: Program Files (x86) Microsoft Visual Studio 8 VC zawiera" -c -nologo -EHsc -W1 -Ox -Oy - -MD C: mydir myDll.c

Jest on następnie połączony z biblioteką aplikacji.

To, co właściwie musi zrobić, a co powoduje problemy, polega na tym, że w ramach jednej z metod musi pobrać dane z serwera SQL 2008 r2.

Z tego, co widziałem dzisiaj, nie byłbyś w stanie zrobić tego bezpośrednio w C, ponieważ SQL Server 2005 został zaprojektowany do komunikacji z językami CLR (C #, C ++, VB.Net).

Zasugerowano, że obsługuję całą komunikację bazy danych z biblioteką DLL VB.Net, a następnie wywołuję tę funkcję z poziomu biblioteki DLL.

Większość tego, co znalazłem na temat wywoływania zarządzanych bibliotek dll z niezarządzanego kodu, mówi o opakowaniach pinvoke lub com i głównie z perspektywy c ++.

Nie mam doświadczenia z COM ani żadnymi wspomnianymi technikami, więc jeśli ktoś mógłby pomóc, byłoby to bardzo mile widziane.

questionAnswers(3)

yourAnswerToTheQuestion