Erstellen einer Klasse zum Halten von DLL-Funktionen
Wenn Sie eine häufig verwendete DLL-Funktion mit einer verwalteten Klasse umschließen, können Sie die Plattformfunktionen auf effektive Weise kapseln. Dies ist zwar nicht in jedem Fall erforderlich, doch können Sie mithilfe von Klassenwrappern die DLL-Funktionen mit weniger Aufwand und geringerer Fehleranfälligkeit definieren. Wenn Sie in Visual Basic oder C# programmieren, müssen Sie die DLL-Funktionen in einer Klasse oder in einem Visual Basic-Modul deklarieren.
Innerhalb einer Klasse definieren Sie eine statische Methode für jede DLL-Funktion, die Sie aufrufen möchten. Die Definition kann zusätzliche Informationen enthalten, z. B. den Zeichensatz oder die Aufrufkonvention, die zur Übergabe von Methodenargumenten verwendet wird. Wenn Sie diese Informationen weglassen, werden die standardmäßigen Einstellungen verwendet. Eine vollständige Liste aller Deklarationsoptionen und ihrer Standardeinstellungen finden Sie unter Erstellen von Prototypen in verwaltetem Code.
Sobald eine Funktion umschlossen ist, können Sie dafür in gleicher Weise Methoden aufrufen wie für eine beliebige statische Funktion. Durch einen Plattformaufruf werden automatisch die zugrunde liegenden exportierten Funktionen behandelt.
Achten Sie beim Entwurf einer verwalteten Klasse für Plattformaufruf auf die Beziehungen zwischen Klassen und DLL-Funktionen. Sie haben unter anderem folgende Möglichkeiten:
DLL-Funktionen in einer vorhandenen Klasse deklarieren.
Eine einzelne Klasse für jede DLL-Funktion erstellen. Auf diese Weise bleiben die Funktionen isoliert und sind leicht aufzufinden.
Eine Klasse für einen Satz verwandter DLL-Funktionen erstellen, um logische Gruppen zu bilden und den Verwaltungsaufwand zu verringern.
Sie können die Klasse und ihre Methoden beliebig benennen. Beispiele für das Erstellen von .NET-basierten Deklarationen, die mit Plattformaufruf verwendet werden, finden Sie unter Marshallen von Daten mit Plattformaufruf.
Siehe auch
Konzepte
Verwenden nicht verwalteter DLL-Funktionen
Identifizieren von Funktionen in DLLs
Erstellen von Prototypen in verwaltetem Code