Метод 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.
Дополнительные сведения см. в разделе Добавлениеустройства.
Требования
Требование | Ценность |
---|---|
целевая платформа | Виндоус |
заголовка | wudfddi.h (include Wudfddi.h) |
См. также
IPnpCallbackHardware::OnReleaseHardware