Поделиться через


Флаги состояния узла устройства

Флаги состояния узла устройства описывают состояние устройства.

Наиболее важные флаги:

DNF_MADEUP (0x00000001)
Устройство было создано и принадлежит диспетчеру PnP. Он был создан не водителем автобуса.

DNF_DUPLICATE (0x00000002)
Узел устройства является дубликатом другого узла перечисленного устройства.

DNF_HAL_NODE (0x00000004)
Узел устройства — это корневой узел, созданный уровнем аппаратной абстракции (HAL).

DNF_REENUMERATE (0x00000008)
Необходимо повторно перечислить устройство.

DNF_ENUMERATED (0x00000010)
PDO для устройства был предоставлен его родительским объектом.

DNF_IDS_QUERIED (0x00000020)
Операционная система должна отправлять IRP_MN_QUERY_ID запросы к драйверу устройства.

DNF_HAS_BOOT_CONFIG (0x00000040)
Устройство имеет ресурсы, назначенные BIOS. Устройство считается псевдоначатым и должно участвовать в перебалансировании.

DNF_BOOT_CONFIG_RESERVED (0x00000080)
Ресурсы загрузки устройства зарезервированы.

DNF_NO_RESOURCE_REQUIRED (0x00000100)
Устройству не требуются ресурсы.

DNF_RESOURCE_REQUIREMENTS_NEED_FILTERED (0x00000200)
Список требований к ресурсам устройства — это отфильтрованный список.

DNF_RESOURCE_REQUIREMENTS_CHANGED (0x00000400)
Список требований к ресурсам устройства изменился.

DNF_NON_STOPPED_REBALANCE (0x00000800)
Устройство можно перезапустить с новыми ресурсами без остановки.

DNF_LEGACY_DRIVER (0x00001000)
Управляющий драйвер устройства — это драйвер, отличный от PnP.

DNF_HAS_PROBLEM (0x00002000)
На устройстве возникла проблема, и устройство будет удалено.

DNF_HAS_PRIVATE_PROBLEM (0x00004000)
Устройство сообщило о PNP_DEVICE_FAILED, не сообщая о PNP_DEVICE_RESOURCE_REQUIREMENTS_CHANGED.

DNF_HARDWARE_VERIFICATION (0x00008000)
Узел устройства имеет проверку оборудования.

DNF_DEVICE_GONE (0x00010000)
PDO устройства больше не возвращается в запросе IRP_QUERY_RELATIONS.

DNF_LEGACY_RESOURCE_DEVICENODE (0x00020000)
Узел устройства был создан для выделения ресурсов прежних версий.

DNF_NEEDS_REBALANCE (0x00040000)
Узел устройства активировал перебалансирование.

DNF_LOCKED_FOR_EJECT (0x00080000)
Устройство извлекается или связано с устройством, которое извлекается.

DNF_DRIVER_BLOCKED (0x00100000)
Загрузка одного или нескольких драйверов для узла устройства была заблокирована.

DNF_CHILD_WITH_INVALID_ID (0x00200000)
Один или несколько дочерних элементов узла устройства имеют недопустимые идентификаторы.

DNF_ASYNC_START_NOT_SUPPORTED (0x00400000)
Устройство не поддерживает асинхронные запуски.

DNF_ASYNC_ENUMERATION_NOT_SUPPORTED (0x00800000)
Устройство не поддерживает асинхронное перечисление.

DNF_LOCKED_FOR_REBALANCE (0x01000000)
Устройство заблокировано для перебалансирования.

DNF_UNINSTALLED (0x02000000)
Выполняется запрос IRP_MN_QUERY_REMOVE_DEVICE для устройства.

DNF_NO_LOWER_DEVICE_FILTERS (0x04000000)
Для устройства отсутствует запись реестра с типом нижних фильтров устройств.

DNF_NO_LOWER_CLASS_FILTERS (0x08000000)
Для устройства отсутствует запись реестра с типом фильтров нижнего класса.

DNF_NO_SERVICE (0x10000000)
Для устройства отсутствует запись реестра службы .

DNF_NO_UPPER_DEVICE_FILTERS (0x20000000)
Для устройства отсутствует запись реестра с типом верхних фильтров устройств.

DNF_NO_UPPER_CLASS_FILTERS (0x40000000)
Запись реестра для типа фильтров верхнего класса для устройства отсутствует.

DNF_WAITING_FOR_FDO (0x80000000)
Перечисление устройства ожидает, пока драйвер подключит его FDO.