Partager via


WUDF_INTERRUPT_DISABLE fonction de rappel (wudfinterrupt.h)

Avertissement

UMDF 2 est la dernière version de UMDF et remplace UMDF 1. Tous les nouveaux pilotes UMDF doivent être écrits à l’aide de UMDF 2. Aucune nouvelle fonctionnalité n’est ajoutée à UMDF 1 et il existe une prise en charge limitée de UMDF 1 sur les versions plus récentes de Windows 10. Les pilotes Windows universels doivent utiliser UMDF 2. Pour plus d’informations, consultez Prise en main de UMDF.

La fonction de rappel d’événement OnInterruptDisable d’un pilote désactive une interruption matérielle spécifiée.

Syntaxe

WUDF_INTERRUPT_DISABLE WudfInterruptDisable;

HRESULT WudfInterruptDisable(
  [in] IWDFInterrupt *Interrupt,
  [in] IWDFDevice *AssociatedDevice
)
{...}

Paramètres

[in] Interrupt

Pointeur vers l’interface IWDFInterrupt.

[in] AssociatedDevice

Pointeur vers l’interface IWDFDevice utilisée par le pilote pour appeler CreateInterrupt.

Valeur de retour

OnInterruptDisable doit retourner S_OK si l’opération réussit. Sinon, le rappel doit retourner l’un des codes d’erreur définis dans Winerror.h.

Remarques

Pour inscrire une fonction de rappel OnInterruptDisable, votre pilote doit placer l’adresse de la fonction de rappel dans une structure WUDF_INTERRUPT_CONFIG avant d’appeler IWDFDevice ::CreateInterrupt.

L’infrastructure appelle la fonction de rappel OnInterruptDisable du pilote chaque fois que l’appareil quitte son état de travail (D0). En outre, un pilote peut entraîner l’appel de la fonction de rappel OnInterruptDisable en appelant IWDFInterrupt ::D isable.

Avant d’appeler la fonction de rappel OnInterruptDisable, l’infrastructure appelle la fonction de rappel du pilote OnD0ExitPreInterruptsDisabled fonction de rappel d’événement et acquiert le verrou d’interruption en mode utilisateur.

Pour plus d’informations sur la gestion des interruptions dans les pilotes UMDF, consultez Accès aux interruptions matérielles et de gestion des interruptions.

Exemples

Le type de fonction est déclaré dans Wudfinterrupt.h, comme suit.

typedef
__drv_functionClass(WUDF_INTERRUPT_DISABLE)
HRESULT
WUDF_INTERRUPT_DISABLE(
    _In_
    IWDFInterrupt* Interrupt,
    _In_
    IWDFDevice* AssociatedDevice
    );

typedef WUDF_INTERRUPT_DISABLE *PFN_WUDF_INTERRUPT_DISABLE;

Pour définir une fonction de rappel OnInterruptDisable nommée MyInterruptDisable, vous devez d’abord fournir une déclaration de fonction que SDV et d’autres outils de vérification nécessitent, comme suit :

WUDF_INTERRUPT_DISABLE  MyInterruptDisable;

Ensuite, implémentez votre fonction de rappel comme suit :

HRESULT
  MyInterruptDisable (
    IN IWDFInterrupt* pInterrupt,
    IN IWDFDevice*  pAssociatedDevice
    )
  {…}

Exigences

Exigence Valeur
fin du support Indisponible dans UMDF 2.0 et versions ultérieures.
plateforme cible Bureau
version minimale de UMDF 1.11
d’en-tête wudfinterrupt.h

Voir aussi