функция обратного вызова EVT_WDF_CHILD_LIST_DEVICE_REENUMERATED (wdfchildlist.h)
[Относится только к KMDF]
Функция обратного вызова события EvtChildListDeviceReenumerated драйвера позволяет драйверу утверждать или отменять повторную нумерацию указанного устройства.
Синтаксис
EVT_WDF_CHILD_LIST_DEVICE_REENUMERATED EvtWdfChildListDeviceReenumerated;
BOOLEAN EvtWdfChildListDeviceReenumerated(
[in] WDFCHILDLIST ChildList,
[in] WDFDEVICE OldDevice,
[in] PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER OldAddressDescription,
[out] PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER NewAddressDescription
)
{...}
Параметры
[in] ChildList
Дескриптор дочернего объекта списка платформы.
[in] OldDevice
Дескриптор объекта устройства платформы.
[in] OldAddressDescription
Необязательный указатель на структуру WDF_CHILD_ADDRESS_DESCRIPTION_HEADER , которая определяет описание дочернего адреса или NULL. Если этот параметр указан, эта структура содержит сведения об адресе, которые были актуальны до повторной регистрации устройства.
[out] NewAddressDescription
Необязательный указатель на структуру WDF_CHILD_ADDRESS_DESCRIPTION_HEADER , которая определяет описание дочернего адреса или NULL. Если этот параметр указан, функция обратного вызова заполняет эту структуру новыми сведениями об адресе устройства.
Возвращаемое значение
Функция обратного вызова EvtChildListDeviceReenumerated возвращает значение TRUE для утверждения повторной нумерации или FALSE для ее отмены.
Комментарии
Если драйвер шины использует динамическое перечисление, он может зарегистрировать функцию обратного вызова EvtChildListDeviceReenumerated , вызвав WdfFdoInitSetDefaultChildListConfig или WdfChildListCreate.
Водители автобусов на основе платформы могут получать запрос от драйвера функции для повторного создания определенного дочернего устройства. Дополнительные сведения об этих запросах см. в разделе Обработка запросов перечисления.
Функция обратного вызова EvtChildListDeviceReenumerated водителя шины позволяет водителю утвердить или отменить повторную нумерацию. Параметр OldDevice определяет устройство, а параметр ChildList определяет дочерний список, в который входит устройство. Если функция обратного вызова возвращает значение TRUE для утверждения повторной нумерации или если функция обратного вызова не существует, платформа выполняет следующие действия:
- Удаляет объект устройства платформы устройства (который идентифицируется с помощью OldDevice), но сохраняет описание идентификации устройства.
- Вызывает функцию обратного вызова EvtChildListCreateDevice драйвера, передавая сохраненное описание идентификации, чтобы функция обратного вызова можна вызвать WdfDeviceCreate для создания нового объекта устройства платформы.
Дополнительные сведения о динамическом перечислении см. в разделе Перечисление устройств в шине.
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Минимальная версия KMDF | 1,0 |
Верхняя часть | wdfchildlist.h (включая Wdf.h) |
IRQL | <= DISPATCH_LEVEL |