Angeben von Gerätemerkmalen

Jedes Geräteobjekt kann ein oder mehrere Gerätemerkmale aufweisen. Gerätemerkmale werden als Flags im Merkmalselement der DEVICE_OBJECT struktur des Geräteobjekts gespeichert.

Die meisten Treiber geben nur das FILE_DEVICE_SECURE_OPEN Merkmal an. Dadurch wird sichergestellt, dass dieselben Sicherheitseinstellungen auf alle offenen Anforderungen im Namespace des Geräts angewendet werden. Weitere Informationen finden Sie unter Steuern des Gerätenamespacezugriffs.

Die FILE_AUTOGENERATED_DEVICE_NAME wird nur für PDOs verwendet. Die Merkmale FILE_FLOPPY_DISKETTE, FILE_REMOVABLE_MEDIA und FILE_WRITE_ONCE_MEDIA sind spezifisch für Speichergeräte. Eine Beschreibung der möglichen Gerätekennzeichen finden Sie in der Beschreibung des Elements "Merkmale " von DEVICE_OBJECT.

Bestimmte Gerätemerkmale, z. B. FILE_AUTOGENERATED_DEVICE_NAME, gelten nur für einzelne Geräteobjekte. Treiber können eine Einstellung für die Gerätemerkmale für einzelne Geräteobjekte angeben, wenn sie das Geräteobjekt erstellen, indem sie IoCreateDevice oder IoCreateDeviceSecure aufrufen.

Die folgenden Merkmale gelten für den gesamten Gerätestapel:

FILE_DEVICE_SECURE_OPEN

FILE_FLOPPY_DISKETTE

FILE_READ_ONLY_DEVICE

FILE_REMOVABLE_MEDIA

FILE_WRITE_ONCE_MEDIA

Treiber können Gerätemerkmale festlegen, die für den gesamten Gerätestapel gelten, indem sie IoCreateDevice oder IoCreateDeviceSecure aufrufen. Alternativ können Gerätemerkmale, die für den gesamten Gerätestapel gelten, in der Registrierung entweder für das Gerät oder für die Setupklasse des Geräts festgelegt werden. (Weitere Informationen finden Sie unter Festlegen von Geräteobjekteigenschaften in der Registrierung.)

Der PnP-Manager bestimmt die Registrierungseinstellung für Gerätemerkmale wie folgt.

  • Wenn ein Wert für das einzelne Gerät angegeben wird, verwendet der PnP-Manager diesen Wert.

  • Wenn andernfalls ein Wert für die Geräteeinrichtungsklasse angegeben wird, verwendet der PnP-Manager diesen Wert.

  • Andernfalls verwendet der PnP-Manager den Wert 0 (null) als Registrierungseinstellung.

Wenn ein Gerätemerkmal, das für den gesamten Gerätestapel gilt, in der Registrierung festgelegt ist, oder wenn es für eine FDO- oder Filter-DO im Stapel festgelegt ist, dann legt der PnP-Manager es für jedes Geräteobjekt im Stapel fest. (Wenn das Gerät im Rohmodus fähig ist und daher keine FDO hat, verwendet der PnP-Manager stattdessen die PDO.)