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

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

Метод WdfPdoInitAllocate выделяет структуру WDFDEVICE_INIT для драйвера шины на основе платформы, которую водитель автобуса использует при создании отчетов о новом устройстве.

Синтаксис

PWDFDEVICE_INIT WdfPdoInitAllocate(
  [in] WDFDEVICE ParentDevice
);

Параметры

[in] ParentDevice

Дескриптор объекта устройства платформы, который представляет родительское устройство нового устройства. Объект устройства платформы должен представлять объект функционального устройства (FDO).

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

Если операция выполнена успешно, метод возвращает указатель на структуру, выделенную платформой WDFDEVICE_INIT . В противном случае метод возвращает значение NULL.

Комментарии

Если драйвер шины использует статическое перечисление, он сообщает о новом устройстве следующим образом:

  1. Вызов WdfPdoInitAllocate для выделения структуры WDFDEVICE_INIT .
  2. При необходимости вызывайте методы инициализации объекта платформы устройства и методы инициализации PDO платформы для инициализации структуры WDFDEVICE_INIT. Если вызов одного из этих методов завершается сбоем, драйвер должен вызвать WdfDeviceInitFree.
  3. Вызов WdfDeviceCreate для создания объекта устройства платформы, предоставляя инициализированную структуру WDFDEVICE_INIT в качестве входных данных.
Дополнительные сведения о статическом перечислении см. в разделе Перечисление устройств в шине.

Примеры

Пример кода, в котором используется WdfPdoInitAllocate, см. в разделе WdfFdoAddStaticChild.

Требования

Требование Значение
Целевая платформа Универсальное
Минимальная версия KMDF 1,0
Верхняя часть wdfpdo.h (включая Wdf.h)
Библиотека Wdf01000.sys (см. раздел Управление версиями библиотеки Платформы).
IRQL PASSIVE_LEVEL
Правила соответствия DDI AddPdoToStaticChildList(kmdf), DoubleDeviceInitFree(kmdf), DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf), PdoInitFreeDeviceCallback(kmdf), PdoInitFreeDeviceCreate(kmdf), PdoInitFreeDeviceCreateType2(kmdf), PdoInitFreeDeviceCreateType4(kmdf)

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

WdfControlDeviceInitAllocate