Überlegungen zum Entwurf benutzerdefinierter Geräte

In diesem Thema werden Entwurfsüberlegungen beschrieben, mit denen Sie bestimmen können, ob Ihr Gerät einen benutzerdefinierten Treiber benötigt.

Bestimmen des zu implementierenden Treibertyps

In dieser Tabelle wird beschrieben, wann Sie einen benutzerdefinierten Treiber für Ihr Gerät entwickeln und mit ihm über die Gerätezugriffs-API kommunizieren sollten und wann Sie stattdessen Windows bereitgestellte Gerätestapel verwenden sollten.

So unterstützen Sie Implementierung
Bekannte Geräte, einschließlich:
  • Sensor
  • Standort
  • Webcam
  • Nähe
  • Kurznachrichtendienst (SMS)
  • Mobiles Breitband

Für viele Arten bekannter Geräte benötigen Sie keinen benutzerdefinierten Treiber, da Windows APIs und DDIs (Class-Extension Device Driver Interfaces) enthält, die die Kommunikation zwischen treiber und Windows verwalten. Sensor-, Standort- und Windows PORTABLE DEVICE-Geräte (WPD) sind einige Beispiele für Geräteklassen, die diese Unterstützung haben. Wenn Sie einen Treiber erstellen, der eine dieser Windows bereitgestellten DDIs zum Senden und Empfangen von Daten und Befehlen verwendet, ist es nicht erforderlich, dass Ihre Windows Store-App die Gerätezugriffs-API verwendet, um den Zugriff zu vermitteln oder E/A-Steuerungscodes (E/A) direkt an den Treiber zu senden.
Wenn eine Windows Store-App zugriff auf ein bekanntes Gerät mithilfe der Windows Runtime-API für die Geräteklasse anfordert, verarbeitet Windows 8 den Gerätezugriff basierend auf dem Gerätetyp. Apps erhalten immer Zugriff auf einige bekannte Gerätetypen (z. B. Beschleunigungsmesser), die keine personenbezogenen Informationen preisgeben. Andere Bekannte Gerätetypen müssen im Anwendungsmanifest deklariert werden, bevor eine App darauf zugreifen kann. Der Benutzer muss einer App die Berechtigung für den Zugriff auf Geräte erteilen, die vertrauliche Informationen wie Standort-, Webcam- und Mikrofongeräte anzeigen, oder kann dem Benutzer Geld kosten, z. B. mobile Breitbandgeräte.
Ein WPD-Gerät, das MTP-Dienste implementiert.
Sie können den MTP-Klassentreiber verwenden oder einen Treiber mit der WPD DDI erstellen.
Windows 8 bietet Unterstützung für MTP-Gerätedienste. Und eine App kann die Windows verwenden. Devices.Portable Windows Runtime-API, die COM-API (Portable Device Component Object Model) oder WPD Automation für den Zugriff auf das Gerät. Ihre App muss die Gerätezugriffs-API nicht verwenden.
Ein Gerät, das nicht über eine Windows bereitgestellte Klassenerweiterung oder einen Klassentreiber verfügt.
Überprüfen Sie in diesem Fall die UWP-Geräte-Apps für interne Geräte für spezialisierte Geräte, um zu bestimmen, ob Sie den benutzerdefinierten Treiberzugriff mithilfe der Gerätezugriffs-API implementieren müssen.

Sicherheitshinweise

Die folgenden Artikel enthalten Anleitungen zum Schreiben von sicherem C++-Code:

Beispiel für benutzerdefinierten Treiberzugriff, UWP-Geräte-Apps für interne Geräte, Hardware Dev Center