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


Метод IPnpCallbackHardware::OnPrepareHardware (wudfddi.h)

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

Метод OnPrepareHardware уведомляет драйвер о доступности указанного оборудования.

Синтаксис

HRESULT OnPrepareHardware(
  [in] IWDFDevice *pWdfDevice
);

Параметры

[in] pWdfDevice

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

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

OnPrepareHardware возвращает S_OK, если операция выполнена успешно. В противном случае этот метод возвращает один из кодов ошибок, определенных в Winerror.h. Не возвращайте HRESULT_FROM_NT(STATUS_NOT_SUPPORTED).

Если OnPrepareHardware возвращает код ошибки, платформа по-прежнему вызывает метод IPnpCallbackHardware::OnReleaseHardware . Затем метод OnReleaseHardware может освободить ресурсы, выделенные во время вызова OnPrepareHardware. Так как OnReleaseHardware должен освобождать ресурсы как для успешных, так и для неудачных случаев OnPrepareHardware, он должен иметь возможность обрабатывать очистку частичных ресурсов.

Этот метод должен использовать макрос HRESULT_FROM_NT для возврата определенного значения HRESULT для возврата состояния клиенту режима ядра. Дополнительные сведения см. в разделе Поддержка клиентов в режиме ядра.

Комментарии

Драйвер регистрирует интерфейс IPnpCallbackHardware при вызове метода IWDFDriver::CreateDevice для создания объекта устройства.

Получение вызова метода OnPrepareHardware эквивалентно получению драйвера WDM от Microsoft Windows, получающего IRP_MN_START_DEVICE IRP.

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

Требования

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

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

IPnpCallbackHardware

IPnpCallbackHardware2::OnPrepareHardware

IPnpCallbackHardware::OnReleaseHardware

IRP_MN_START_DEVICE

IWDFDevice

IWDFDriver::CreateDevice