функция обратного вызова 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 ChildList определяет дочерний список, в котором устройство является членом. Если функция обратного вызова возвращает TRUE для утверждения повторной обработки или если функция обратного вызова не существует, платформа выполняет следующее:
- Удаляет объект устройства платформы устройства (который определяется OldDevice), но сохраняет описание идентификации устройства.
- Вызывает функцию обратного вызова драйвера EvtChildListCreateDevice, передав сохраненное описание идентификации, чтобы функция обратного вызова может вызывать WdfDeviceCreate для создания нового объекта устройства платформы.
Дополнительные сведения о динамическом перечислении см. в перечислении устройств на шине.
Требования
Требование | Ценность |
---|---|
целевая платформа | Всеобщий |
минимальная версия KMDF | 1.0 |
заголовка | wdfchildlist.h (включая Wdf.h) |
IRQL | <= DISPATCH_LEVEL |