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

[Относится только к KMDF]

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

Синтаксис

NTSTATUS WdfPdoInitAddCompatibleID(
  [in] PWDFDEVICE_INIT  DeviceInit,
  [in] PCUNICODE_STRING CompatibleID
);

Параметры

[in] DeviceInit

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

[in] CompatibleID

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

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

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

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

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

Комментарии

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

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

Примеры

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

DECLARE_CONST_UNICODE_STRING(compatId, L"{B85B7C50-6A01-11d2-B841-00C04FAD5171}\\MsCompatibleToaster\0");

status = WdfPdoInitAddCompatibleID(
                                   DeviceInit,
                                   &compatId
                                   );

Требования

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

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

WdfPdoInitAddHardwareID

WdfPdoInitAssignDeviceID

WdfPdoInitAssignInstanceID