Hjem Utvikling Hva er dllimport-attributtet? - definisjon fra techopedia

Hva er dllimport-attributtet? - definisjon fra techopedia

Innholdsfortegnelse:

Anonim

Definisjon - Hva betyr DllImport Attribute?

DllImport Attribute er en deklarativ tagg som brukes i C # for å merke en klassemetode som definert i et eksternt dynamisk-link-bibliotek (DLL) i stedet for i en hvilken som helst .NET-samling.


DllImport-attributtet brukes på kjøretid for å kalle en funksjon som eksporteres i en ekstern DLL implementert med ubehandlet kode som utføres utenfor kontrollen av vanlige språk runtime (CLR). Det brukes også til å spesifisere annen informasjon som trengs mens du ringer til funksjonen, for eksempel samtalekonvensjon, type konvertering av parametere som er passert mellom administrert og ikke-administrert kode, osv. Dermed brukes den til å samarbeide med kode i ikke-administrerte og arvkomponenter som er bosatt i Windows DLLs og er skrevet i C eller C ++.


DllImport er nyttig i situasjoner der funksjonaliteten til et administrert program, hvis kode utføres av CLR, bare kan utvides ved å få tilgang til og gjenbruke funksjonaliteten til Win32-applikasjonsprogrammeringsgrensesnittet (API) og andre brukerdefinerte, ikke-administrerte koder som er implementert i DLL. Dette kan spare utviklingsinnsats og gjøre bruk av eksisterende robuste og velprøvde koder uten å finne opp hjulet på nytt i en administrert applikasjon. Det er vanligvis nødvendig når du bruker DLL-er som ikke kan skrives om, men som kan endres.

Techopedia forklarer DllImport Attribute

DllImport-attributtet er en erklæringserklæring for den eksporterte funksjonen som skal ringes fra det administrerte programmet. Den kan ikke brukes til en medlemsfunksjon, som krever en instans av klasse. Det er spesifisert på designtidspunktet i firkantede seler før erklæringen om metoden den brukes. Det er nødvendig å bruke strengen “ekstern” før funksjonserklæringen.


For eksempel kan attributten DllImport brukes i Windows Forms-applikasjonen, som er et administrert program for å påkalle en metode for en komponentobjektmodellkomponent (hvis kode ikke er administrert) for å utføre noen beregninger.


Den er designet for å importere de tradisjonelle DLL-ene som eksporterer funksjonene sine ved å bruke den originale Windows DLL-eksportmekanismen. Det er ikke beregnet på bruk av kode i administrert montering (som DLL), som det kan henvises direkte til i den administrerte applikasjonens prosjekt.


DllImport-attributtet bruker InteropServices til CLR, som utfører samtalen fra administrert kode til ubehandlet kode. Den informerer også kompilatoren om plasseringen av implementeringen av funksjonen som brukes. Når den ubehandlede innpakningsfunksjonen med dette attributtet i administrert kode blir kalt, lokaliserer og laster CLR den nødvendige DLL-filen. Den marshaler (konverterer parametrene i henhold til spesifikasjonen) og returnerer den ubehandlede koden etter utførelse, sammen med riktig konvertering av parametere.


Mens du bruker DllImport-attributt, må du passe på å bruke riktig navn på DLL og den eksporterte funksjonen fordi skrivefeil kan forekomme på steder der de ikke lett kan oppdages.

Hva er dllimport-attributtet? - definisjon fra techopedia