Windows Systemnahe Programmierung (Win32 API)


Zielgruppe:

Entwickler, Systemdesigner und Projektleiter für Applikationen unter Windows im systemnahen Bereich.

Vorkenntnisse:

Programmiererfahrung in C.

Dauer:

5 Tage

Kursziel:

Der Kursteilnehmer ist in der Lage, Applikationen für Windows-Systeme zu entwickeln und dabei die Vorteile des Win32 Prozessmodells und Multithreadings zu nutzen. Er kennt die sich daraus ergebenden Probleme bezüglich Speicherverwaltung, Datenaustausch und Synchronisation und weiß, wie sie zu lösen sind. Anwendungen können als Client-/Server-Applikationen und Serverprozesse als Services realisiert werden. Darüber hinaus weiß er, wie man die Registry zur Ablage wichtiger
Daten nutzt, wiederverwendbare Softwaremodule in Form von statischen oder dynamischen Linkbibliotheken (DLLs) implementiert und Ausnahmesituationen wie z.B. Zugriffsverletzungen sicher abfängt.


Inhalt:

Einführung

  • Windows Systemarchitektur
  • Die Win32 Programmierschnittstelle
  • Allgemeines Prozessmodell
  • Speicherverwaltung und virtuelle Adressierung
  • Systemobjekte und ihre Verwaltung

Prozesse und Threads

  • Erzeugung und Beendigung
  • Prioritäten
  • Scheduling

Synchronisation

  • Critical Sections
  • Mutexe, Semaphore, Events

Dateiverwaltung

  • Kreieren und Öffnen von Dateien
  • Lesen und Schreiben von Daten
  • Synchrones/asynchrones I/O
  • Memory Mapped Files

Interprozesskommunikation

  • Shared Memory
  • Sockets

Netzwerk-Programmierung

  • TCP/IP-Socketprogrammierung
  • Client/Server-Anwendungen

Services

  • Installation und Bedienung
  • Kommunikation zw. SCM und Service
  • Besonderheiten in Bezug auf Sicherheitsattribute

Registry

  • Speichern und Verwalten von Anwendungsdaten

Dynamische Linkbibliothek (DLL)

  • Schnittstelle zwischen Prozess und DLL
  • Initialisierung/Terminierung
  • Speicherverwaltung

Strukturierte Ausnahmebehandlung

  • Abfangen und Bearbeiten von HW- und SW-Exceptions
  • Exception-Handler und Filter
  • Ende-Behandlung

Nicht genau was Sie suchen?