Compartir a través de


WUDF_INTERRUPT_ENABLE función de devolución de llamada (wudfinterrupt.h)

Advertencia

UMDF 2 es la versión más reciente de UMDF y sustituye a UMDF 1. Todos los controladores UMDF nuevos deben escribirse con UMDF 2. No se agregan nuevas características a UMDF 1 y hay compatibilidad limitada con UMDF 1 en versiones más recientes de Windows 10. Los controladores universales de Windows deben usar UMDF 2. Para obtener más información, consulta Introducción con UMDF.

La función de devolución de llamada de evento OnInterruptEnable de un controlador habilita una interrupción de hardware especificada.

Sintaxis

WUDF_INTERRUPT_ENABLE WudfInterruptEnable;

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

Parámetros

[in] Interrupt

Puntero a la interfaz IWDFInterrupt .

[in] AssociatedDevice

Puntero a la interfaz IWDFDevice que el controlador usó para llamar a CreateInterrupt.

Valor devuelto

La función de devolución de llamada debe devolver S_OK si la operación se realiza correctamente. De lo contrario, la devolución de llamada debe devolver uno de los códigos de error definidos en Winerror.h.

Comentarios

Para registrar una función de devolución de llamada OnInterruptEnable , el controlador debe colocar la dirección de la función de devolución de llamada en una estructura de WUDF_INTERRUPT_CONFIG antes de llamar a IWDFDevice::CreateInterrupt.

El marco llama a la función de devolución de llamada OnInterruptEnable del controlador cada vez que el dispositivo entra en estado de funcionamiento (D0). Además, un controlador puede hacer que el marco llame a la función de devolución de llamada OnInterruptEnable llamando a IWDFInterrupt::Enable.

Antes de llamar a la función de devolución de llamada OnInterruptEnable , el marco adquiere el bloqueo de interrupción en modo de usuario.

Después de llamar a la función de devolución de llamada OnInterruptEnable , el marco llama a la función de devolución de llamada de evento OnD0EntryPostInterruptsEnabled del controlador.

Para obtener más información sobre el control de interrupciones en los controladores UMDF, consulte Acceso a hardware y control de interrupciones.

Ejemplos

El tipo de función se declara en Wudfinterrupt.h, como se indica a continuación.

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

typedef WUDF_INTERRUPT_ENABLE *PFN_WUDF_INTERRUPT_ENABLE;

Para definir una función de devolución de llamada OnInterruptEnable denominada MyInterruptEnable, primero debe proporcionar una declaración de función que requieren SDV y otras herramientas de comprobación, como se indica a continuación:

WUDF_INTERRUPT_ENABLE  MyInterruptEnable;

A continuación, implemente la función de devolución de llamada de la siguiente manera:

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

Requisitos

Requisito Value
Finalización del soporte técnico No disponible en UMDF 2.0 y versiones posteriores.
Plataforma de destino Escritorio
Versión mínima de UMDF 1.11
Encabezado wudfinterrupt.h

Consulte también