Att anropa en funktion i en DLL

Även om anrop av ohanterade DLL-funktioner nästan är identiska med att anropa annan hanterad kod, finns det skillnader som kan få DLL-funktioner att verka förvirrande till en början. Det här avsnittet beskriver några av de ovanliga samtalsrelaterade problemen.

Strukturer som returneras från plattformsanrop måste vara datatyper som har samma representation i hanterad och ohanterad kod. Sådana typer kallas blittable-typer eftersom de inte kräver konvertering (se Blittable- och Non-Blittable Types). Om du vill anropa en funktion som har en icke-blittable-struktur som returtyp kan du definiera en blittable-hjälptyp av samma storlek som den icke-blittable-typen och konvertera data när funktionen har returnerats.

I det här avsnittet

Överföring av strukturer Identifierar problemen med att skicka datastrukturer med en fördefinierad layout.

Återanropsfunktioner Innehåller grundläggande information om återanropsfunktioner.

Gör så här: Implementera återanropsfunktioner Beskriver hur du implementerar återanropsfunktioner i hanterad kod.

Använda ohanterade DLL-funktioner Beskriver hur du anropar ohanterade DLL-funktioner med hjälp av plattformsanrop.

Samla data med plattformsanrop Beskriver hur du deklarerar metodparametrar och skickar argument till funktioner som exporteras av ohanterade bibliotek.