Benannte Geräteobjekte

Ein Geräteobjekt kann wie alle Objekt-Manager-Objekte benannt oder unbenannt sein. Wenn eine Anwendung im Benutzermodus eine E/A-Anforderung sendet, gibt sie das Ziel des Vorgangs anhand des Namens an. Der Objekt-Manager löst den Namen auf, um das Ziel der E/A-Anforderung zu bestimmen.

Wichtig

Zur Erhöhung der Treibersicherheit benennen Geräteobjekte nur bei Bedarf. Benannte Geräteobjekte sind in der Regel nur aus älteren Gründen erforderlich, z. B. wenn Sie über eine Anwendung verfügen, die erwartet, dass das Gerät mit einem bestimmten Namen geöffnet wird, oder wenn Sie ein Nicht-PNP-Gerät/Steuerungsgerät verwenden. Beachten Sie, dass WDF-Treiber ihr PnP-Gerät nicht benennen müssen, um mithilfe von WdfDeviceCreateSymbolicLink einen symbolischen Link zu erstellen.

Ein Treiber kann einen Namen für ein Geräteobjekt angeben, wenn er IoCreateDevice oder IoCreateDeviceSecure aufruft, um das Geräteobjekt zu erstellen. Weitere Informationen dazu, wann und wie Sie ein Geräteobjekt benennen, finden Sie unter NT-Gerätenamen.

Ein benanntes Geräteobjekt kann auch einen MS-DOS-Gerätenamen aufweisen, bei dem es sich um einen symbolischen Link handelt, der von IoCreateSymbolicLink oder IoCreateUnprotectedSymbolicLink erstellt wird. WDM-Treiber erfordern im Allgemeinen keinen MS-DOS-Gerätenamen. Weitere Informationen finden Sie unter MS-DOS-Gerätenamen.

Wichtig

Wenn Sie ein benanntes Geräteobjekt verwenden, können Sie IoCreateDeviceSecure verwenden und eine SDDL angeben, um es zu schützen. Wenn Sie IoCreateDeviceSecure implementieren, geben Sie immer eine benutzerdefinierte Klassen-GUID für DeviceClassGuid an. Sie sollten hier keine vorhandene Klassen-GUID angeben. Dies kann die Sicherheitseinstellungen oder die Kompatibilität für andere Geräte, die zu dieser Klasse gehören, beeinträchtigen. Weitere Informationen finden Sie unter WdmlibIoCreateDeviceSecure.

Damit Anwendungen oder andere WDF-Treiber auf Ihr PnP-Gerät zugreifen können, sollten Sie Geräteschnittstellen verwenden. Weitere Informationen finden Sie unter Verwenden von Geräteschnittstellen. Eine Geräteschnittstelle dient als symbolische Verknüpfung mit der PDO Ihres Gerätestapels. Die möglichkeit, den Zugriff auf die PDO zu steuern, ist die Angabe einer SDDL-Zeichenfolge in Ihrem INF. Wenn die SDDL-Zeichenfolge nicht in der INF-Datei enthalten ist, wendet Windows einen Standardsicherheitsdeskriptor an. Weitere Informationen finden Sie unter Schützen von Geräteobjekten und SDDL für Geräteobjekte.

Dieser Abschnitt enthält die folgenden Unterabschnitte:

NT-Gerätenamen

MS-DOS-Gerätenamen