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


Регистрация класса интерфейса устройства

Существует два способа регистрации класса интерфейса устройства:

  • Драйвер, управляющий устройством PnP, может зарегистрировать интерфейс устройства в определенном классе интерфейса устройства. В рамках регистрации интерфейса устройства класс интерфейса устройства будет создан неявно. В этом разделе описывается, как использовать подпрограммы для регистрации интерфейса устройства.

  • INF-файл может содержать разделы INF DDInstall.Interfaces.

Драйвер WDM не называет свои объекты устройств. Вместо этого, когда драйвер вызывает IoCreateDevice для создания объекта устройства, он должен указать пустую строку для имени устройства. Дополнительные сведения см. в разделе Создание объекта устройства.

После создания объекта устройства и его присоединения к стеку устройств один драйвер вызывает IoRegisterDeviceInterface для регистрации класса интерфейса устройства и создания экземпляра интерфейса устройства класса . Как правило, драйвер функции выполняет этот вызов из своей подпрограммы AddDevice , но иногда драйвер фильтра регистрирует интерфейс.

Подпрограмма возвращает символьное имя ссылки. Драйвер передает имя ссылки при включении или отключении экземпляра интерфейса устройства. Другие системные компоненты не могут использовать экземпляр интерфейса устройства, пока драйвер не включит его. Дополнительные сведения см. в разделе Включение и отключение экземпляра интерфейса устройства .

Драйвер также использует символьное имя ссылки для доступа к разделу реестра, в котором он может хранить сведения, относящиеся к интерфейсу устройства (дополнительные сведения см. в разделе IoOpenDeviceInterfaceRegistryKey ). Приложения используют имя ссылки для открытия устройства.

Драйвер может вызывать IoRegisterDeviceInterface столько раз, сколько необходимо для регистрации экземпляров дополнительных классов интерфейса устройства.

Сведения об использовании интерфейсов устройств из драйвера WDF см. в статье Использование интерфейсов устройств (WDF).