In unserem Buch schreiben wir auf Seite 578:
P/Invoke an sich gesehen ist gar nicht so schwer. Vielmehr macht die Ermittlung der richtigen Methodensignaturen Schwierigkeiten. Erschwerend kommt hinzu, dass das »Ausprobieren« auch nur sehr begrenzt möglich ist. Schnell kann hier das Senden von falschen Datentypen bzw. Werten an unverwaltete Bibliotheken zu Speicherverlusten oder unerwarteten Ergebnissen führen. Denn mit P/Invoke verlassen Sie die Zwischenschicht zwischen Quell- und Maschinencode, die durch die Laufzeitumgebung geprüft wird und durch die z. B. direkte Speicherzugriffe verhindert werden. Für eine professionelle Programmierung werden also unbedingt der richtige Bibliotheksname, die richtige Methodensignatur und die entsprechenden Werte benötigt. Das ist beim .NET Framework mit der MSDN-Bibliothek (Link1901) oder Werkzeugen wie PInvoke.NET noch relativ einfach. Aber beim .NET Compact Framework und Windows CE als Baukasten für das Betriebssystem Windows Mobile wird das Ganze schon erheblich schwerer. Dennoch gibt es im Web hier und da einige gute Ressourcen, wie z.B. Link1902. Im Bereich Smart Device Functions sind dort Windows CE DLL-Bibliotheken mit ihren Methodensignaturen und den zu verwendenden Werten, teilweise sogar mit Beispielen, gut dokumentiert. Mehr Informationen zu P/Invoke beim .NET Compact Framework erhalten Sie unter Link1903. Mehr Informationen zu Windows CE erhalten Sie unter Link1904 und mehr zum Werkzeug PInvoke.NET gibt es unter Link1905.
P/Invoke an sich gesehen ist gar nicht so schwer. Vielmehr macht die Ermittlung der richtigen Methodensignaturen Schwierigkeiten. Erschwerend kommt hinzu, dass das »Ausprobieren« auch nur sehr begrenzt möglich ist. Schnell kann hier das Senden von falschen Datentypen bzw. Werten an unverwaltete Bibliotheken zu Speicherverlusten oder unerwarteten Ergebnissen führen. Denn mit P/Invoke verlassen Sie die Zwischenschicht zwischen Quell- und Maschinencode, die durch die Laufzeitumgebung geprüft wird und durch die z. B. direkte Speicherzugriffe verhindert werden.
Für eine professionelle Programmierung werden also unbedingt der richtige Bibliotheksname, die richtige Methodensignatur und die entsprechenden Werte benötigt. Das ist beim .NET Framework mit der MSDN-Bibliothek (Link1901) oder Werkzeugen wie PInvoke.NET noch relativ einfach. Aber beim .NET Compact Framework und Windows CE als Baukasten für das Betriebssystem Windows Mobile wird das Ganze schon erheblich schwerer. Dennoch gibt es im Web hier und da einige gute Ressourcen, wie z.B. Link1902. Im Bereich Smart Device Functions sind dort Windows CE DLL-Bibliotheken mit ihren Methodensignaturen und den zu verwendenden Werten, teilweise sogar mit Beispielen, gut dokumentiert. Mehr Informationen zu P/Invoke beim .NET Compact Framework erhalten Sie unter Link1903. Mehr Informationen zu Windows CE erhalten Sie unter Link1904 und mehr zum Werkzeug PInvoke.NET gibt es unter Link1905.
Auf der BASTA! machte mich ein Besucher eines Vortrag von mir wieder auf ein Plug-In aufmerksam:
Mit diesem Add-In können Methodensignaturen gesucht werden. Wie war z. B. gleich doch die Signatur um einen Prozess zu beenden? Beenden ist terminieren, der Terminator lässt grüßen, daher t eingeben und schon erscheint die Signatur. Fazit: Zu empfehlen und funktioniert auch für Strukturen etc.
Übrigens, das Verweiswerkzeug, für Zugriff auf 140 Beispiele und 400 Verweise ins Web, gibt es hier.
Remember Me
a@href@title, b, blockquote@cite, em, i, strike, strong, sub, sup, u