Флаги состояния узла устройства
Флаги состояния узла устройства описывают состояние устройства.
Наиболее важные флаги:
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.