Dela via


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öra strukturer
Identifierar problem 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.

Hantering av data med Platform Invoke
Beskriver hur du deklarerar metodparametrar och skickar argument till funktioner som exporteras av ohanterade bibliotek.