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


Метод IDriverEntry::OnDeviceAdd (wudfddi.h)

[Предупреждение: UMDF 2 является последней версией UMDF и заменяет UMDF 1. Все новые драйверы UMDF должны быть написаны с помощью UMDF 2. В UMDF 1 новые функции не добавляются, а поддержка UMDF 1 в более новых версиях Windows 10 ограничена. Универсальные драйверы Windows должны использовать UMDF 2. Дополнительные сведения см. в разделе начало работы с UMDF.]

Метод OnDeviceAdd добавляет новое устройство в систему.

Синтаксис

HRESULT OnDeviceAdd(
  [in] IWDFDriver           *pWdfDriver,
  [in] IWDFDeviceInitialize *pWdfDeviceInit
);

Параметры

[in] pWdfDriver

Указатель на интерфейс IWDFDriver для родительского объекта драйвера, к которому принадлежит новое устройство.

[in] pWdfDeviceInit

Указатель на интерфейс IWDFDeviceInitialize , который драйвер использует для инициализации созданного устройства.

Возвращаемое значение

OnDeviceAdd возвращает S_OK, если операция выполнена успешно. В противном случае этот метод возвращает один из кодов ошибок, определенных в Winerror.h. Драйвер должен возвращать S_OK только в том случае, если он успешно вызвал метод IWDFDriver::CreateDevice для создания объекта устройства платформы. Если драйвер возвращает код ошибки, UMDF удаляет весь стек устройств независимо от того, является ли драйвером фильтра или драйвером функции.

Комментарии

Для каждого устройства, загруженного в процессе узла драйвера, создается новый объект устройства. Когда новое устройство поступает в систему, платформа вызывает OnDeviceAdd , чтобы уведомить водителя о прибытии, и передает интерфейсы IWDFDriver и IWDFDeviceInitialize в вызове. Драйвер может вызвать метод IWDFDeviceInitialize::RetrieveDevicePropertyStore для запроса сведений об устройстве, которые предоставляются при установке устройства. Драйвер должен вызвать метод IWDFDriver::CreateDevice для настройки и создания устройства. Если драйвер не вызывает IWDFDriver::CreateDevice перед возвратом S_OK, UMDF определяет, что поведение драйвера неверно, и завершает процесс узла.

Любой драйвер, метод OnDeviceAdd которого возвращает S_OK, впоследствии получит вызов метода IPnpCallbackHardware::OnReleaseHardware , когда UMDF удаляет стек устройств.

Не используйте интерфейс IWDFDeviceInitialize , на который указывает параметр pWdfDeviceInit после вызова драйвером IWDFDriver::CreateDevice.

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

Требования

Требование Значение
Целевая платформа Windows
Header wudfddi.h (включая Wudfddi.h)

См. также раздел

IDriverEntry

IPnpCallbackHardware::OnReleaseHardware

IWDFDeviceInitialize

IWDFDeviceInitialize::RetrieveDevicePropertyStore

IWDFDriver

IWDFDriver::CreateDevice