EVT_ACX_FACTORY_CIRCUIT_RELEASE_HARDWARE fonction de rappel (acxcircuit.h)

Le rappel EVT_ACX_FACTORY_CIRCUIT_RELEASE_HARDWARE est utilisé par le pilote pour ajouter des fonctionnalités lorsqu’un ACXFACTORYCIRCUIT est en phase de mise en production matérielle.

Syntaxe

EVT_ACX_FACTORY_CIRCUIT_RELEASE_HARDWARE EvtAcxFactoryCircuitReleaseHardware;

NTSTATUS EvtAcxFactoryCircuitReleaseHardware(
  WDFDEVICE Device,
  ACXFACTORYCIRCUIT Factory,
  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.

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 EvtAcxFactoryCircuitReleaseHardware, votre pilote doit appeler AcxFactoryCircuitInitSetAcxCircuitPnpPowerCallbacks.

Si un pilote a inscrit une fonction de rappel EvtAcxFactoryCircuitReleaseHardware, l’infrastructure l’appelle pendant les transitions suivantes :

  • Rééquilibrage des ressources
  • Suppression ordonnée
  • Suppression surprise

L’infrastructure ACX appelle la fonction de rappel EvtAcxFactoryCircuitReleaseHardware une fois que l’infrastructure WDF a cessé d’envoyer des demandes d’E/S à l’appareil, que les interruptions attribuées à l’appareil ont été désactivées et déconnectées, et que l’appareil a été désactivé.

L’infrastructure ACX appelle la fonction de rappel EvtAcxFactoryCircuitReleaseHardware avant que l’infrastructure WDF appelle la fonction de rappel EvtDeviceReleaseHardware du pilote.

Lorsque l’infrastructure appelle EvtAcxFactoryCircuitReleaseHardware, le PDO de l’appareil existe toujours et peut être interrogé pour obtenir des informations sur l’appareil disponibles dans l’état hors tension, par exemple l’état de configuration PCI.

En outre, les ressources matérielles traduites que l’infrastructure fournit à EvtDeviceReleaseHardware sont toujours affectées à l’appareil. L’objectif principal de cette fonction de rappel est de libérer ces ressources et, en particulier, d’annuler le mappage des ressources de mémoire que la fonction de rappel EvtAcxCircuitPrepareHardware du pilote a mappées. Le pilote peut également utiliser ce rappel pour effectuer toute autre activité de gestion ACXCIRCUIT qui peut être nécessaire à l’état hors tension. En règle générale, toutes les autres opérations d’arrêt matériel doivent avoir lieu dans la fonction de rappel EvtDeviceD0Exit du pilote.

L’infrastructure ACX appelle toujours la fonction de rappel EvtAcxFactoryCircuitReleaseHardware du pilote si la fonction de rappel EvtAcxFactoryCircuitPrepareHardware du pilote a été appelée, sauf si l’EvtAcxFactoryCircuitPrepareHardware a retourné un code d’échec.

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 ressources matérielles, consultez Présentation des ressources matérielles.

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