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


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

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

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

Синтаксис

NTSTATUS WdfPdoInitAssignDeviceID(
  [in] PWDFDEVICE_INIT  DeviceInit,
  [in] PCUNICODE_STRING DeviceID
);

Параметры

[in] DeviceInit

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

[in] DeviceID

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

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

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

Код возврата Описание
STATUS_INVALID_DEVICE_REQUEST
Драйвер инициализирует FDO вместо PDO.
STATUS_INSUFFICIENT_RESOURCES
Драйверу не удалось выделить место для хранения строки идентификатора устройства.
 

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

Комментарии

Идентификатор устройства обычно является первым элементом в списке идентификаторов оборудования, которые сообщает устройство. Дополнительные сведения об идентификаторах устройств и аппаратных идентификаторах см. в разделах Строки идентификации устройств и Настройка выбора драйверов.

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

Примеры

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

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

status = WdfPdoInitAssignDeviceID(
                                  pDeviceInit,
                                  &deviceId
                                  );

Требования

Требование Значение
Целевая платформа Универсальное
Минимальная версия 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

WdfPdoInitAddHardwareID

WdfPdoInitAssignInstanceID