Partager via


fonction de rappel EVT_WDF_CHILD_LIST_DEVICE_REENUMERATED (wdfchildlist.h)

[S’applique uniquement à KMDF]

La fonction de rappel d’événement EvtChildListDeviceReenumerated pilote permet au pilote d’approuver ou d’annuler une réenumation d’un appareil spécifié.

Syntaxe

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

Paramètres

[in] ChildList

Handle d’un objet de liste enfant framework.

[in] OldDevice

Handle vers un objet d’appareil framework.

[in] OldAddressDescription

Pointeur facultatif vers une structure WDF_CHILD_ADDRESS_DESCRIPTION_HEADER qui identifie une description d’adresse enfant ou NULL. Si elle est fournie, cette structure contient des informations d’adresse pertinentes avant que l’appareil ne soit réinumé.

[out] NewAddressDescription

Pointeur facultatif vers une structure WDF_CHILD_ADDRESS_DESCRIPTION_HEADER qui identifie une description d’adresse enfant ou NULL. Si elle est fournie, la fonction de rappel remplit cette structure avec de nouvelles informations d’adresse sur l’appareil.

Valeur de retour

La fonction de rappel EvtChildListDeviceReenumerated retourne TRUE pour approuver la réenumation ou FALSE pour l’annuler.

Remarques

Si un pilote de bus utilise d’énumération dynamique, il peut inscrire un EvtChildListDeviceReenumerated fonction de rappel en appelant WdfFdoInitSetDefaultChildListConfig ou WdfChildListCreate.

Les pilotes de bus basés sur l’infrastructure peuvent recevoir une demande d’un pilote de fonction pour réenumer un périphérique enfant particulier. Pour plus d’informations sur ces requêtes, consultez gestion des demandes d’énumération.

La fonction de rappel EvtChildListDeviceReenumerated du pilote permet au pilote d’approuver ou d’annuler la réenumation. Le paramètre OldDevice identifie l’appareil, et le paramètre ChildList identifie la liste enfant dont l’appareil est membre. Si la fonction de rappel retourne TRUE pour approuver la réenumation ou si la fonction de rappel n’existe pas, l’infrastructure effectue les opérations suivantes :

  1. Supprime l’objet d’appareil framework de l’appareil (identifié par OldDevice), mais conserve la description de l’identification de l’appareil.
  2. Appelle la fonction de rappel EvtChildListCreateDevice du pilote, en passant la description de l’identification enregistrée, afin que la fonction de rappel puisse appeler WdfDeviceCreate pour créer un objet d’appareil framework.
Si le pilote de bus utilise des descriptions d’adresses, la EvtChildListDeviceReenumerated fonction de rappel reçoit des pointeurs vers deux descriptions d’adresses. L’un pointe vers la description de l’adresse associée à l’ancien objet d’appareil. L’autre pointe vers une description d’adresse que la fonction de rappel doit renseigner avec des informations qui décrivent l’emplacement actuel de l’appareil.

Pour plus d’informations sur l’énumération dynamique, consultez énumération des appareils sur un bus.

Exigences

Exigence Valeur
plateforme cible Universel
version minimale de KMDF 1.0
d’en-tête wdfchildlist.h (include Wdf.h)
IRQL <= DISPATCH_LEVEL

Voir aussi

EvtChildListCreateDevice

WDF_CHILD_ADDRESS_DESCRIPTION_HEADER

WdfChildListCreate

WdfDeviceCreate

WdfFdoInitSetDefaultChildListConfig