WUDF_INTERRUPT_DISABLE 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 eventos OnInterruptDisable de un controlador deshabilita una interrupción de hardware especificada.
Sintaxis
WUDF_INTERRUPT_DISABLE WudfInterruptDisable;
HRESULT WudfInterruptDisable(
[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
OnInterruptDisable 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 OnInterruptDisable , 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 OnInterruptDisable del controlador cada vez que el dispositivo deja su estado de funcionamiento (D0). Además, un controlador puede hacer que el marco llame a la función de devolución de llamada OnInterruptDisable llamando a IWDFInterrupt::D isable.
Antes de llamar a la función de devolución de llamada OnInterruptDisable , el marco llama a la función de devolución de llamada de evento OnD0ExitPreInterruptsDisabled del controlador y adquiere el bloqueo de interrupción en modo de usuario.
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_DISABLE)
HRESULT
WUDF_INTERRUPT_DISABLE(
_In_
IWDFInterrupt* Interrupt,
_In_
IWDFDevice* AssociatedDevice
);
typedef WUDF_INTERRUPT_DISABLE *PFN_WUDF_INTERRUPT_DISABLE;
Para definir una función de devolución de llamada OnInterruptDisable denominada MyInterruptDisable, 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_DISABLE MyInterruptDisable;
A continuación, implemente la función de devolución de llamada de la siguiente manera:
HRESULT
MyInterruptDisable (
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 |