Geräteknotenstatusflags
Die Geräteknotenstatusflags beschreiben die status eines Geräts.
Die wichtigsten Flags sind:
DNF_MADEUP (0x00000001)
Das Gerät wurde erstellt und gehört dem PnP-Manager. Sie wurde nicht von einem Bustreiber erstellt.
DNF_DUPLICATE (0x00000002)
Der Geräteknoten ist ein Duplikat eines anderen aufgezählten Geräteknotens.
DNF_HAL_NODE (0x00000004)
Der Geräteknoten ist der Stammknoten, der von der Hardware abstraction Layer (HAL) erstellt wird.
DNF_REENUMERATE (0x00000008)
Das Gerät muss erneut aufgelistet werden.
DNF_ENUMERATED (0x00000010)
Das PDO für das Gerät wurde vom übergeordneten Gerät verfügbar gemacht.
DNF_IDS_QUERIED (0x00000020)
Das Betriebssystem sollte IRP_MN_QUERY_ID Anforderungen an den Gerätetreiber senden.
DNF_HAS_BOOT_CONFIG (0x00000040)
Dem Gerät sind Ressourcen vom BIOS zugewiesen. Das Gerät gilt als pseudogestartt und muss an der Neugewichtung teilnehmen.
DNF_BOOT_CONFIG_RESERVED (0x00000080)
Die Startressourcen des Geräts sind reserviert.
DNF_NO_RESOURCE_REQUIRED (0x00000100)
Für das Gerät sind keine Ressourcen erforderlich.
DNF_RESOURCE_REQUIREMENTS_NEED_FILTERED (0x00000200)
Die Liste der Ressourcenanforderungen des Geräts ist eine gefilterte Liste.
DNF_RESOURCE_REQUIREMENTS_CHANGED (0x00000400)
Die Liste der Ressourcenanforderungen des Geräts wurde geändert.
DNF_NON_STOPPED_REBALANCE (0x00000800)
Das Gerät kann mit neuen Ressourcen neu gestartet werden, ohne angehalten zu werden.
DNF_LEGACY_DRIVER (0x00001000)
Der steuernde Treiber des Geräts ist ein Nicht-PnP-Treiber.
DNF_HAS_PROBLEM (0x00002000)
Das Gerät hat ein Problem und wird entfernt.
DNF_HAS_PRIVATE_PROBLEM (0x00004000)
Das Gerät meldete PNP_DEVICE_FAILED, ohne auch PNP_DEVICE_RESOURCE_REQUIREMENTS_CHANGED zu melden.
DNF_HARDWARE_VERIFICATION (0x00008000)
Der Geräteknoten verfügt über eine Hardwareüberprüfung.
DNF_DEVICE_GONE (0x00010000)
Das PDO des Geräts wird in einer IRP_QUERY_RELATIONS-Anforderung nicht mehr zurückgegeben.
DNF_LEGACY_RESOURCE_DEVICENODE (0x00020000)
Der Geräteknoten wurde für die Legacyressourcenzuordnung erstellt.
DNF_NEEDS_REBALANCE (0x00040000)
Der Geräteknoten hat eine Neugewichtung ausgelöst.
DNF_LOCKED_FOR_EJECT (0x00080000)
Das Gerät wird ausgeworfen oder bezieht sich auf ein Gerät, das ausgeworfen wird.
DNF_DRIVER_BLOCKED (0x00100000)
Mindestens ein Treiber für den Geräteknoten konnte nicht geladen werden.
DNF_CHILD_WITH_INVALID_ID (0x00200000)
Mindestens ein untergeordnetes Element des Geräteknotens verfügt über ungültige IDs.
DNF_ASYNC_START_NOT_SUPPORTED (0x00400000)
Das Gerät unterstützt keine asynchronen Starts.
DNF_ASYNC_ENUMERATION_NOT_SUPPORTED (0x00800000)
Das Gerät unterstützt keine asynchrone Enumeration.
DNF_LOCKED_FOR_REBALANCE (0x01000000)
Das Gerät ist zum Erneuten Ausgleich gesperrt.
DNF_UNINSTALLED (0x02000000)
Für das Gerät wird eine IRP_MN_QUERY_REMOVE_DEVICE-Anforderung ausgeführt.
DNF_NO_LOWER_DEVICE_FILTERS (0x04000000)
Für das Gerät gibt es keinen Registrierungseintrag des Typs "Untergerätefilter".
DNF_NO_LOWER_CLASS_FILTERS (0x08000000)
Es gibt keinen Registrierungseintrag des Typs "Filter der unteren Klasse" für das Gerät.
DNF_NO_SERVICE (0x10000000)
Es gibt keinen Registrierungseintrag des Diensts für das Gerät.
DNF_NO_UPPER_DEVICE_FILTERS (0x20000000)
Es gibt keinen Registrierungseintrag des Typs "Obere Gerätefilter" für das Gerät.
DNF_NO_UPPER_CLASS_FILTERS (0x40000000)
Es gibt keinen Registrierungseintrag des Typs "Filter der oberen Klasse" für das Gerät.
DNF_WAITING_FOR_FDO (0x80000000)
Die Enumeration des Geräts wartet, bis der Treiber seine FDO anfügt.