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


Функция WdfPdoInitAddHardwareID (wdfpdo.h)

[Применимо только к KMDF]

Метод WdfPdoInitAddHardwareID добавляет идентификатор оборудования в список идентификаторов оборудования для дочернего устройства.

Синтаксис

NTSTATUS WdfPdoInitAddHardwareID(
  [in] PWDFDEVICE_INIT  DeviceInit,
  [in] PCUNICODE_STRING HardwareID
);

Параметры

[in] DeviceInit

Указатель на структуру WDFDEVICE_INIT.

[in] HardwareID

Указатель на структуру UNICODE_STRING, содержащую строку идентификатора оборудования. Драйвер может выделить буфер строки из пула страниц.

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

Если операция выполнена успешно, метод возвращает STATUS_SUCCESS. К дополнительным возвращаемым значениям относятся:

Код возврата Описание
STATUS_INVALID_DEVICE_REQUEST
Драйвер инициализирует FDO вместо PDO.
СТАТУС_НЕДОСТАТОЧНЫЕ_РЕСУРСЫ
Драйвер не мог выделить место для хранения строки идентификатора оборудования.
 

Метод также может возвращать другие значения NTSTATUS.

Замечания

Драйвер может добавить один или несколько идентификаторов оборудования для устройства. Они должны быть добавлены в порядок от лучшего матча до худшего матча. Платформа предоставит идентификаторы диспетчеру PnP в том порядке, в который они были добавлены. Дополнительные сведения об идентификаторах оборудования см. в строках идентификации устройств и способа выбора драйверов.

Драйвер должен вызывать WdfPdoInitAddHardwareID перед вызовом WdfDeviceCreate. Дополнительные сведения о вызове WdfDeviceCreateсм. в создании объекта устройства Framework.

Примеры

В следующем примере кода сообщается идентификатор оборудования, который использует KbFiltr пример драйвера.

#define  KBFILTR_DEVICE_ID L"{A65C87F9-BE02-4ed9-92EC-012D416169FA}\\KeyboardFilter\0"
DECLARE_CONST_UNICODE_STRING(hardwareId, KBFILTR_DEVICE_ID);

status = WdfPdoInitAddHardwareID(
                                 pDeviceInit,
                                 &hardwareId
                                 );

Требования

Требование Ценность
целевая платформа универсальный
минимальная версия KMDF 1.0
Заголовок wdfpdo.h (включая Wdf.h)
Библиотека Wdf01000.sys (см. управление версиями библиотеки Платформы).)
IRQL PASSIVE_LEVEL
правил соответствия DDI ChildDeviceInitAPI(kmdf), DriverCreate(kmdf), InitFreeDeviceCallback(kmdf), InitFreeDeviceCreate(kmdf), InitFreeNull(kmdf), KmdfIrql (kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf), PdoInitFreeDeviceCallback(kmdf), PdoInitFreeDeviceCreate(kmdf)

См. также

WdfPdoInitAddCompatibleID

WdfPdoInitAssignDeviceID

WdfPdoInitAssignInstanceID