EVT_WDF_DRIVER_DEVICE_ADD fonction de rappel (wdfdriver.h)

[S’applique à KMDF et UMDF]

La fonction de rappel d’événement EvtDriverDeviceAdd d’un pilote effectue des opérations d’initialisation de périphérique lorsque le gestionnaire de 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 par l’infrastructure.

Valeur retournée

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’erreur status définies dans Ntstatus.h. Pour plus d'informations, consultez la section Notes qui suit.

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 WDF_DRIVER_CONFIG avant d’appeler WdfDriverCreate.

L’infrastructure appelle la fonction de rappel EvtDriverDeviceAdd de votre pilote après qu’un pilote de bus détecte un appareil qui a 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 qu’un de vos appareils est connecté à l’ordinateur. Pour plus d’informations sur la façon dont le système utilise les fichiers INF et les 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 de périphérique 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 de périphérique et ses périphériques enfants.

Si la fonction de rappel EvtDriverDeviceAdd d’un pilote de fonction ne retourne pas STATUS_SUCCESS, le gestionnaire d’E/S ne crée pas de pile de périphériques 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 de périphériques sans le pilote de filtre.

Configuration requise

Condition requise Valeur
Plateforme cible Universal
Version KMDF minimale 1.0
Version UMDF minimale 2.0
En-tête wdfdriver.h (inclure Wdf.h)
IRQL PASSIVE_LEVEL

Voir aussi

WDFDEVICE_INIT

WDF_DRIVER_CONFIG

WdfDriverCreate