Compartir a través de


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

Consulte también

IWDFInterrupt

IWDFInterrupt::AcquireInterruptLock

WdfInterruptTryToAcquireLock