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 nuevos controladores UMDF deben escribirse mediante 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 a UMDF.
La onInterruptEnable de un controlador función de devolución de llamada de eventos 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.
Observaciones
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 onInterruptEnable del controlador función de devolución de llamada cada vez que el dispositivo entra en su estado de trabajo (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 onInterruptEnable función de devolución de llamada, 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 de OnInterruptEnable, el marco llama a la función de devolución de llamada de eventos OnD0EntryPostInterruptsEnabled.
Para obtener más información sobre cómo controlar las 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 un OnInterruptEnable función de devolución de llamada 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 | Valor |
---|---|
fin del soporte técnico | No disponible en UMDF 2.0 y versiones posteriores. |
de la plataforma de destino de | Escritorio |
versión mínima de UMDF | 1.11 |
encabezado de | wudfinterrupt.h |