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


функция обратного вызова EVT_WDF_CHILD_LIST_CREATE_DEVICE (wdfchildlist.h)

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

Функция обратного вызова события драйвера шины EvtChildListCreateDevice создает объект устройства платформы для нового устройства, которое было динамически перечислено.

Синтаксис

EVT_WDF_CHILD_LIST_CREATE_DEVICE EvtWdfChildListCreateDevice;

NTSTATUS EvtWdfChildListCreateDevice(
  [in] WDFCHILDLIST ChildList,
  [in] PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription,
  [in] PWDFDEVICE_INIT ChildInit
)
{...}

Параметры

[in] ChildList

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

[in] IdentificationDescription

Указатель на копию структуры WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER , указанной драйвером при вызове WdfChildListAddOrUpdateChildDescriptionAsPresent.

[in] ChildInit

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

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

Функция обратного вызова EvtChildListCreateDevice должна возвращать STATUS_SUCCESS или другое значение состояния, для которого NT_SUCCESS(состояние) равно TRUE, если операция выполнена успешно. В противном случае эта функция должна возвращать значение состояния, для которого NT_SUCCESS (состояние) равно FALSE.

Если операция завершилась ошибкой, но вы думаете, что драйвер должен повторить попытку позже, и если функция обратного вызова EvtChildListCreateDevice не вызывает WdfDeviceCreate, драйвер может вернуть STATUS_RETRY. В результате платформа снова вызывает функцию обратного вызова EvtChildListCreateDevice позже. Если драйвер возвращает STATUS_RETRY более нескольких раз, платформа перестанет вызывать функцию обратного вызова для неудающегося устройства.

Замечания

Если драйвер шины использует динамическое перечисление, он может зарегистрировать функцию обратного вызова EvtChildListCreateDevice , вызвав WdfFdoInitSetDefaultChildListConfig или WdfChildListCreate.

После вызова драйвера WdfChildListAddOrUpdateChildDescriptionAsPresent или WdfChildListUpdateAllChildDescriptionsAsPresent платформа вызывает функцию обратного вызова драйвера EvtChildListCreateDevice . Функция обратного вызова должна вызывать WdfDeviceCreate , чтобы создать объект устройства платформы (PDO).

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

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

Дополнительные сведения о динамическом перечислении см. в перечислении устройств на шине.

Требования

Требование Ценность
целевая платформа универсальный
минимальная версия KMDF 1.0
Заголовок wdfchildlist.h (включая Wdf.h)
IRQL пассивный уровень

См. также

WDFDEVICE_INIT

WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER

WdfChildListAddOrUpdateChildDescriptionAsPresent

WdfChildListCreate

WdfChildListUpdateAllChildDescriptionsAsPresent

WdfDeviceCreate

WdfFdoInitSetDefaultChildListConfig