Método IWDFInterrupt::TryToAcquireInterruptLock (wudfddi.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.
El método TryToAcquireInterruptLock adquiere el bloqueo de interrupción si ningún otro subproceso ya lo ha adquirido.
Sintaxis
BOOLEAN TryToAcquireInterruptLock();
Valor devuelto
El método devuelve TRUE si el bloqueo de interrupción se adquirió correctamente. En caso contrario, el método devuelve FALSE.
Comentarios
A diferencia de IWDFInterrupt::AcquireInterruptLock, IWDFInterrupt::TryToAcquireInterruptLock no espera a que el bloqueo de interrupción esté disponible si otro subproceso lo contiene.
Cuando se ejecuta en un subproceso arbitrario, como un método de devolución de llamada de cola de E/S, los controladores deben llamar a IWDFInterrupt::TryToAcquireInterruptLock en lugar de IWDFInterrupt::AcquireInterruptLock. Por ejemplo, el controlador llama a IWDFInterrupt::TryToAcquireInterruptLock desde IQueueCallbackRead::OnRead. Esto evita la posibilidad de interbloqueo, como se describe en la sección Comentarios de IWDFInterrupt::AcquireInterruptLock.
El controlador no debe intentar adquirir el bloqueo de forma recursiva. Si está conectado al depurador, el marco introduce un punto de interrupción en este escenario.
Para obtener más información sobre el bloqueo manual de interrupciones, vea Sincronizar código de interrupción.
Para obtener más información sobre el control de interrupciones en los controladores UMDF, consulte Acceso a hardware y control de interrupciones.
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 | wudfddi.h |
Archivo DLL | WUDFx.dll |