Compartir a través de


EVT_WDF_CHILD_LIST_DEVICE_REENUMERATED función de devolución de llamada (wdfchildlist.h)

[Solo se aplica a KMDF]

La función de devolución de llamada de eventos EvtChildListDeviceReenumerate del controlador permite al controlador aprobar o cancelar una reenumeración de un dispositivo especificado.

Sintaxis

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
)
{...}

Parámetros

[in] ChildList

Identificador de un objeto de lista secundario de marco.

[in] OldDevice

Identificador de un objeto de dispositivo de marco.

[in] OldAddressDescription

Puntero opcional a una estructura de WDF_CHILD_ADDRESS_DESCRIPTION_HEADER que identifica una descripción de dirección secundaria o NULL. Si se proporciona, esta estructura contiene información de dirección que era relevante antes de volver a enumerar el dispositivo.

[out] NewAddressDescription

Puntero opcional a una estructura de WDF_CHILD_ADDRESS_DESCRIPTION_HEADER que identifica una descripción de dirección secundaria o NULL. Si se proporciona, la función de devolución de llamada rellena esta estructura con información de dirección nueva sobre el dispositivo.

Valor devuelto

La función de devolución de llamada EvtChildListDeviceReenumerated devuelve TRUE para aprobar la reenumeración o FALSE para cancelarla.

Comentarios

Si un controlador de bus usa la enumeración dinámica, puede registrar una función de devolución de llamada EvtChildListDeviceReenumerate llamando a WdfFdoInitSetDefaultChildListConfig o WdfChildListCreate.

Los controladores de bus basados en marco pueden recibir una solicitud de un controlador de función para volver a enumerar un dispositivo secundario determinado. Para obtener más información sobre estas solicitudes, vea Control de solicitudes de enumeración.

La función de devolución de llamada EvtChildListDeviceReenumerate del controlador permite al controlador aprobar o cancelar la reenumeración. El parámetro OldDevice identifica el dispositivo y el parámetro ChildList identifica la lista secundaria de la que es miembro el dispositivo. Si la función de devolución de llamada devuelve TRUE para aprobar la reenumeración o si la función de devolución de llamada no existe, el marco hace lo siguiente:

  1. Quita el objeto de dispositivo de marco del dispositivo (identificado por OldDevice), pero conserva la descripción de identificación del dispositivo.
  2. Llama a la función de devolución de llamada EvtChildListCreateDevice del controlador, pasando la descripción de identificación guardada, para que la función de devolución de llamada pueda llamar a WdfDeviceCreate para crear un nuevo objeto de dispositivo de marco.
Si el controlador de bus usa descripciones de direcciones, la función de devolución de llamada EvtChildListDeviceReenumerate recibe punteros a dos descripciones de direcciones. Uno apunta a la descripción de la dirección asociada al objeto de dispositivo antiguo. El otro apunta a una descripción de dirección que la función de devolución de llamada debe rellenar con información que describa la ubicación actual del dispositivo.

Para obtener más información sobre la enumeración dinámica, vea Enumeración de los dispositivos en un bus.

Requisitos

Requisito Value
Plataforma de destino Universal
Versión mínima de KMDF 1.0
Encabezado wdfchildlist.h (incluya Wdf.h)
IRQL <= DISPATCH_LEVEL

Consulte también

EvtChildListCreateDevice

WDF_CHILD_ADDRESS_DESCRIPTION_HEADER

WdfChildListCreate

WdfDeviceCreate

WdfFdoInitSetDefaultChildListConfig