Partager via


EVT_ACX_FACTORY_CIRCUIT_PREPARE_HARDWARE fonction de rappel (acxcircuit.h)

Le rappel EVT_ACX_FACTORY_CIRCUIT_PREPARE_HARDWARE est utilisé par le pilote pour ajouter des fonctionnalités lorsqu’une fabrique de circuit est en phase de préparation matérielle.

Syntaxe

EVT_ACX_FACTORY_CIRCUIT_PREPARE_HARDWARE EvtAcxFactoryCircuitPrepareHardware;

NTSTATUS EvtAcxFactoryCircuitPrepareHardware(
  WDFDEVICE Device,
  ACXFACTORYCIRCUIT Factory,
  WDFCMRESLIST ResourcesRaw,
  WDFCMRESLIST ResourcesTranslated
)
{...}

Paramètres

Device

Objet WDFDEVICE (décrit dans Résumé des objets Framework) associé au circuit ACX.

Factory

Objet ACXFACTORYCIRCUIT de la fabrique de circuits existante. Pour plus d’informations sur les objets ACX, consultez Résumé des objets ACX.

ResourcesRaw

Liste de ressources WDF qui décrit les ressources brutes à utiliser pour la phase de préparation du matériel. Il s’agit d’un objet de liste de ressources de l’infrastructure WDF qui représente une liste de ressources matérielles pour un appareil. Pour plus d’informations sur les ressources brutes, consultez Ressources matérielles pour les pilotes Framework-Based.

ResourcesTranslated

Liste de ressources WDF qui décrit les ressources traduites à utiliser pour la phase de préparation du matériel. Il s’agit d’un objet de liste de ressources de l’infrastructure WDF qui représente une liste de ressources matérielles pour un appareil. Pour plus d’informations sur les listes de ressources traduites, consultez Ressources brutes et traduites.

Valeur retournée

Retourne STATUS_SUCCESS si l’appel a réussi. Sinon, il retourne un code d’erreur approprié. Pour plus d’informations, consultez Utilisation de valeurs NTSTATUS.

Remarques

Pour inscrire une fonction de rappel EvtAcxFactoryCircuitPrepareHardware, un pilote doit appeler la méthode AcxFactoryCircuitInitSetAcxCircuitPnpPowerCallbacks.

Si le pilote a inscrit une fonction de rappel EvtAcxFactoryCircuitPrepareHardware pour un ACXFACTORYCIRCUIT, l’infrastructure ACX appelle la fonction après que l’infrastructure WDF a appelé la fonction de rappel EvtDevicePrepareHardware du pilote.

La fonction de rappel EvtAcxFactoryCircuitPrepareHardware accède aux ressources matérielles brutes et traduites de l’appareil à l’aide des handles ResourcesRaw et ResourcesTranslated qu’elle reçoit. La fonction de rappel peut appeler WdfCmResourceListGetCount et WdfCmResourceListGetDescriptor pour parcourir les listes de ressources. Cette fonction de rappel ne peut pas modifier les listes de ressources.

Pour plus d’informations sur les listes de ressources et l’ordre dans lequel les ressources apparaissent, consultez Ressources brutes et traduites.

En règle générale, la fonction de rappel EvtAcxFactoryCircuitPrepareHardware de votre pilote effectue les opérations suivantes, si nécessaire :

  • Mappe les adresses de mémoire physique aux adresses virtuelles d’ACXFACTORYCIRCUIT afin que le pilote puisse accéder à la mémoire affectée à l’appareil.
  • Si vous le souhaitez, la fonction de rappel EvtAcxFactoryCircuitPrepareHardware de votre pilote peut mettre en file d’attente un élément de travail pour effectuer d’autres tâches de configuration nécessitant beaucoup de temps. L’utilisation d’un élément de travail pour de telles opérations peut vous assurer que le temps de démarrage de votre appareil n’augmente pas le temps de démarrage du système. Pour plus d’informations, consultez Utilisation d’éléments de travail d’infrastructure.
  • En règle générale, toutes les autres opérations d’initialisation matérielle, y compris le chargement du microprogramme, doivent avoir lieu chaque fois que l’appareil entre dans son état de fonctionnement (D0) et doivent donc avoir lieu dans la fonction de rappel EvtDeviceD0Entry du pilote.

Les handles ResourcesRaw et ResourcesTranslated que la fonction de rappel EvtAcxCircuitPrepareHardware/EvtDevicePrepareHardware reçoit reste valide jusqu’à ce que la fonction de rappel EvtDeviceReleaseHardware du pilote retourne.

Si le pilote échoue au rappel EvtAcxFactoryCircuitPrepareHardware, l’objet ACXFACTORYCIRCUIT est placé dans l’état en attente de suppression.

Pour plus d’informations sur les ressources matérielles, consultez Présentation des ressources matérielles.

Pour plus d’informations sur le moment où l’infrastructure ACX et WDF appellent ces fonctions de rappel, consultez Scénarios pnP et de gestion de l’alimentation.

Pour plus d’informations sur les pilotes qui fournissent cette fonction de rappel, consultez Prise en charge de PnP et gestion de l’alimentation dans le pilote de fonction.

Configuration requise d’ACX

Version minimale d’ACX : 1.0

Pour plus d’informations sur les versions d’ACX, consultez Vue d’ensemble des versions d’ACX.

Configuration requise

Condition requise Valeur
En-tête acxcircuit.h
IRQL PASSIVE_LEVEL

Voir aussi