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


Именованные объекты устройства

Объект устройства, как и все объекты диспетчера объектов, могут быть названы или неименованы. Когда приложение в пользовательском режиме выполняет запрос ввода-вывода, оно указывает целевой объект операции по имени. Диспетчер объектов разрешает название для определения назначения запроса ввода/вывода.

Это важно

Чтобы повысить безопасность водителей, присваивайте имена объектам устройств только при необходимости. Именованные объекты устройств обычно необходимы только в устаревших системах, например, если у вас есть приложение, которое требует открытия устройства с заданным именем, или если вы используете не-PNP устройство или управляющее устройство. Обратите внимание, что драйверы WDF не должны называть свое устройство PnP, чтобы создать символьную ссылку с помощью WdfDeviceCreateSymbolicLink.

Драйвер может указать имя объекта устройства при вызове IoCreateDevice или IoCreateDeviceSecure для создания объекта устройства. Дополнительные сведения о том, когда и как именовать объект устройства, см. в статье NT Device Names.

Именованный объект устройства также может иметь MS-DOS имя устройства, которое является символьной ссылкой, созданной IoCreateSymbolicLink или IoCreateUnprotectedSymbolicLink. Для драйверов WDM обычно имя устройства MS-DOS не требуется. Дополнительные сведения см. в разделе MS-DOS Имена устройств.

Это важно

Если вы используете именованный объект устройства, вы можете использовать IoCreateDeviceSecure и указать SDDL, чтобы защитить его. При реализации IoCreateDeviceSecure всегда указывайте GUID пользовательского класса для DeviceClassGuid. Здесь не следует указывать существующий GUID класса. Это может привести к разрыву параметров безопасности или совместимости для других устройств, принадлежащих к данному классу. Дополнительные сведения см. в разделе WdmlibIoCreateDeviceSecure.

Чтобы разрешить приложениям или другим драйверам WDF доступ к устройству PnP, следует использовать интерфейсы устройств. Дополнительные сведения см. в разделе Использование интерфейсов устройств. Интерфейс устройства служит символьной ссылкой на PDO стека устройств. Одним из способов управления доступом к PDO является указание строки SDDL в INF. Если строка SDDL не находится в INF-файле, Windows будет применять дескриптор безопасности по умолчанию. Дополнительные сведения см. в разделе защита объектов устройств и SDDL для объектов устройств.

В этом разделе содержатся следующие подразделы:

Имена устройств NT

MS-DOS имена устройств