функция обратного вызова 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(status) равно TRUE, если операция выполнена успешно. В противном случае эта функция должна возвращать значение состояния, для которого NT_SUCCESS(status) равно FALSE.

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

Комментарии

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

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

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

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

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

Требования

Требование Значение
Целевая платформа Универсальное
Минимальная версия KMDF 1,0
Верхняя часть wdfchildlist.h (включая Wdf.h)
IRQL PASSIVE_LEVEL

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

WDFDEVICE_INIT

WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER

WdfChildListAddOrUpdateChildDescriptionAsPresent

WdfChildListCreate

WdfChildListUpdateAllChildDescriptionsAsPresent

WdfDeviceCreate

WdfFdoInitSetDefaultChildListConfig