6.3 Пространство имен устройств

We use cookies. Read the Privacy and Cookie Policy

6.3 Пространство имен устройств

Данное пространство имен развилось за несколько лет существования Windows NT. Для обеспечения обратной совместимости новое пространство имен объединяется со старым пространством с помощью символических ссылок. Кроме того, драйверы режима ядра создают пространство имен в режиме ядра, используя возможности диспетчера объектов. Приложения пользовательского режима воспринимают другие пространства имен, взаимодействующие друг с другом посредством символических ссылок. Иногда разобраться с хитростями пространств имен не так-то просто. В этом разделе делается скромная попытка перечислить наиболее важные для подсистемы хранения имена устройств.

Драйвер класса диска создает объекты устройств для представления каждого физического диска. Эти объекты имеют название deviceharddiskX, где X – число, начинающееся с нуля и увеличивающееся для каждого найденного жесткого диска.

Кроме того, драйвер класса диска создает объект устройства для каждого найденного основного раздела. Драйвер класса диска использует функцию IoReadPartitionTable диспетчера ввода-вывода для поиска всех основных разделов на диске. Такие основные разделы называются deviceharddiskX partitionY, где X – номер диска, а У – номер основного раздела, расположенного на этом физическом диске. Диспетчер ввода-вывода создает символьную ссылку в формате ??PhysicalDriveX, где X – число больше нуля, отображаемое на ссылку deviceharddiskXpartitionY.

Диспетчер томов LDM создает объект для каждого поддерживаемого тома. Эти объекты устройств имеют имена в формате DeviceHarddiskVolumes PhysicalDmVolumesBlockVolumeX, где X – идентификатор, который назначается тому диспетчером томов. Это устройство режима ядра соотносится с устройством Win32, которое создается диспетчером монтирования и имеет вид ??Volume [GUID], где GUID – глобально уникальный идентификатор. Диспетчер томов также создает символьную ссылку в формате DeviceHarddiskDmVolumesComputerNameDgOWolumeY для каждого тома и соотносит ссылки с определенными устройствами в каталоге PhysicalVolumes При этом значение ComputerName заменяется фактическим именем компьютера, a Y – идентификатором тома.

Для предоставления прямого доступа к тому диспетчер томов LDM создает объект для каждого поддерживаемого тома. Этот объект устройства имеет имя в формате DeviceHarddiskDmVolumesPhysicalDmVolumesRawVolumeX.

Обратите внимание, что в данном разделе не описываются все возможные имена устройств и их форматы. Любознательным читателям рекомендуется

запустить утилиты управления дисками и томами с графическим интерфейсом и обратить внимание на предоставляемые ими сведения.