Partager via


fonction de rappel EVT_WDF_DRIVER_DEVICE_ADD (wdfdriver.h)

[S’applique à KMDF et UMDF]

La fonction de rappel d’événement evtDriverDeviceAdd evtDriverDeviceAdd effectue des opérations d’initialisation d’appareil lorsque le gestionnaire Plug-and-Play (PnP) signale l’existence d’un appareil.

Syntaxe

EVT_WDF_DRIVER_DEVICE_ADD EvtWdfDriverDeviceAdd;

NTSTATUS EvtWdfDriverDeviceAdd(
  [in]      WDFDRIVER Driver,
  [in, out] PWDFDEVICE_INIT DeviceInit
)
{...}

Paramètres

[in] Driver

Handle vers un objet de pilote d’infrastructure qui représente le pilote.

[in, out] DeviceInit

Pointeur vers une structure de WDFDEVICE_INIT allouée au framework.

Valeur de retour

La fonction de rappelEvtDriverDeviceAdd doit retourner STATUS_SUCCESS si l’opération réussit. Sinon, cette fonction de rappel doit retourner l’une des valeurs d’état d’erreur définies dans Ntstatus.h. Pour plus d’informations, consultez la section Remarques suivante.

Remarques

Chaque pilote basé sur l’infrastructure qui prend en charge les appareils PnP doit fournir la fonction de rappel EvtDriverDeviceAdd. Le pilote doit placer l’adresse de la fonction de rappel dans sa structure de WDF_DRIVER_CONFIG avant d’appeler WdfDriverCreate.

L’infrastructure appelle le EvtDriverDeviceAdd fonction de rappel après qu’un pilote de bus détecte un appareil disposant d’un identificateur matériel (ID) qui correspond à un ID matériel pris en charge par votre pilote. Vous spécifiez les ID matériels pris en charge par votre pilote en fournissant un fichier INF, que le système d’exploitation utilise pour installer les pilotes la première fois que l’un de vos appareils est connecté à l’ordinateur. Pour plus d’informations sur la façon dont le système utilise des fichiers INF et des ID matériels, consultez Comment le programme d’installation sélectionne les pilotes.

La fonction de rappel EvtDriverDeviceAdd d’un pilote effectue généralement au moins certaines des opérations d’initialisation suivantes :

Certains pilotes, en particulier les pilotes de filtre, peuvent ne pas créer d’objets d’appareil pour certains appareils. Si une fonction de rappel EvtDriverDeviceAdd ne crée pas d’objet d’appareil, elle doit toujours retourner STATUS_SUCCESS sauf si une erreur a été rencontrée.

Si la fonction de rappel EvtDriverDeviceAdd d’un pilote crée un objet d’appareil, mais ne retourne pas STATUS_SUCCESS, l’infrastructure supprime l’objet d’appareil et ses appareils enfants.

Si la fonction de rappel EvtDriverDeviceAdd d’un pilote de fonction ne retourne pas STATUS_SUCCESS, le gestionnaire d’E/S ne génère pas de pile d’appareils pour l’appareil.

Si la fonction de rappel evtDriverDeviceAdd d’un pilote de filtre ne retourne pas STATUS_SUCCESS, l’infrastructure convertit la valeur de retour en STATUS_SUCCESS et le gestionnaire d’E/S génère la pile des appareils sans le pilote de filtre.

Spécifications

Besoin Valeur
plateforme cible Universel
version minimale de KMDF 1.0
version minimale de UMDF 2.0
En-tête wdfdriver.h (include Wdf.h)
IRQL PASSIVE_LEVEL

Voir aussi

WDFDEVICE_INIT

WDF_DRIVER_CONFIG

WdfDriverCreate