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 circuits est en phase de préparation du matériel.
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 Summary of Framework Objects) associé au circuit ACX.
Factory
Objet ACXFACTORYCIRCUIT de la fabrique de circuit 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 du framework 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 du framework 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 de retour
Retourne STATUS_SUCCESS
si l’appel a réussi. Sinon, elle retourne un code d’erreur approprié. Pour plus d’informations, consultez Using NTSTATUS Values.
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 appelle la fonction 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’il 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 de l’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 ces opérations peut vous aider à garantir 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 Using Framework Work Items.
- 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 travail (D0) et doit donc avoir lieu dans la fonction de rappel EvtDeviceD0Entry du pilote.
Les handles ResourcesRaw et ResourcesTranslated que la fonction de rappel EvtAcxServicesPrepareHardware/EvtDevicePrepareHardware reçoit reste valide jusqu’à ce que la fonction de rappel EvtDeviceReleaseHardware du pilote retourne.
Si le pilote échoue le rappel EvtAcxFactoryCircuitPrepareHardware, l’objet ACXFACTORYCIRCUIT est placé dans l’état de suppression en attente.
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 Power Management.
Pour plus d’informations sur les pilotes qui fournissent cette fonction de rappel, consultez Prise en charge de PnP et de gestion de l’alimentation dans le pilote de fonction.
Configuration requise pour ACX
version minimale d’ACX : 1.0
Pour plus d’informations sur les versions ACX, consultez vue d’ensemble de la version ACX.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | acxcircuit.h |
IRQL | PASSIVE_LEVEL |