Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Каждый объект устройства может иметь одну или несколько характеристик устройства. Характеристики устройства хранятся в виде флагов в элементе Characteristics структуры DEVICE_OBJECT объекта устройства.
Большинство драйверов указывают только FILE_DEVICE_SECURE_OPEN характеристику. Это гарантирует, что те же параметры безопасности применяются к любому открытому запросу в пространстве имен устройства. Дополнительные сведения см. в разделе Управление доступом к пространству имен устройств.
FILE_AUTOGENERATED_DEVICE_NAME используется только для PDOs. Характеристики FILE_FLOPPY_DISKETTE, FILE_REMOVABLE_MEDIA и FILE_WRITE_ONCE_MEDIA относятся к устройствам хранения. Описание возможных флагов характеристик устройства можно найти в разделе о члене характеристик в DEVICE_OBJECT.
Некоторые характеристики устройства, такие как FILE_AUTOGENERATED_DEVICE_NAME, применяются только к отдельным объектам устройства. Драйверы могут указать параметр характеристик устройства для отдельных объектов устройства при создании объекта, вызвав IoCreateDevice или IoCreateDeviceSecure.
Следующие характеристики применяются ко всему стеку устройств:
УСТРОЙСТВО_БЕЗОПАСНОСТИ_ОТКРЫТЬ
ФАЙЛ_ФЛОППИ_ДИСКЕТА
УСТРОЙСТВО_ТОЛЬКО_ДЛЯ_ЧТЕНИЯ
ФАЙЛ_СЪЕМНЫЕ_НОСИТЕЛИ
МЕДИАОСНОВА ДОСТУПА С ЗАПИСЬЮ ОДИН РАЗ
Драйверы могут задавать характеристики устройств, которые применяются ко всему стеку устройств, вызывая IoCreateDevice или IoCreateDeviceSecure. Кроме того, характеристики устройств, применяемые ко всему стеку устройств, можно задать в реестре либо для устройства, либо для класса установки устройства. (Дополнительные сведения см. в разделе Настройка свойств объекта устройства в реестре.)
Диспетчер PnP определяет параметр реестра для характеристик устройства следующим образом.
Если для отдельного устройства задано значение, диспетчер PnP использует это значение;
В противном случае, если для класса установки устройства задано значение, диспетчер PnP использует это значение;
В противном случае диспетчер PnP использует значение нуля в качестве параметра реестра.
Если в реестре задана характеристика устройства, которая применяется ко всему стеку устройств, или если оно установлено для любого FDO или фильтра DO в стеке, диспетчер PnP устанавливает его для каждого объекта устройства в стеке. (Если устройство необработанным режимом и таким образом не имеет FDO, то вместо этого диспетчер PnP использует PDO.)