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 |