функция обратного вызова 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 |
См. также раздел
WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER
WdfChildListAddOrUpdateChildDescriptionAsPresent