IWDFInterrupt::TryToAcquireInterruptLock 메서드(wudfddi.h)
[경고: UMDF 2는 UMDF의 최신 버전이며 UMDF 1을 대체합니다. 모든 새 UMDF 드라이버는 UMDF 2를 사용하여 작성해야 합니다. UMDF 1에 새 기능이 추가되지 않으며 최신 버전의 Windows 10 UMDF 1에 대한 지원이 제한됩니다. 유니버설 Windows 드라이버는 UMDF 2를 사용해야 합니다. 자세한 내용은 UMDF를 사용하여 시작 참조하세요.]
TryToAcquireInterruptLock 메서드는 다른 스레드가 이미 인수하지 않은 경우 인터럽트 잠금을 획득합니다.
구문
BOOLEAN TryToAcquireInterruptLock();
반환 값
인터럽트 잠금을 성공적으로 획득하면 메서드가 TRUE를 반환합니다. 그렇지 않으면 메서드가 FALSE를 반환합니다.
설명
IWDFInterrupt::AcquireInterruptLock과 달리 IWDFInterrupt::TryToAcquireInterruptLock은 다른 스레드에서 인터럽트 잠금을 보유하는 경우 인터럽트 잠금을 사용할 수 있게 될 때까지 기다리지 않습니다.
I/O 큐 콜백 메서드와 같은 임의의 스레드에서 실행하는 경우 드라이버는 IWDFInterrupt::AcquireInterruptLock 대신 IWDFInterrupt::TryToAcquireInterruptLock을 호출해야 합니다. 예를 들어 드라이버는 IQueueCallbackRead::OnRead에서 IWDFInterrupt::TryToAcquireInterruptLock을 호출합니다. 이렇게 하면 IWDFInterrupt::AcquireInterruptLock의 설명 섹션에 설명된 대로 교착 상태가 발생하지 않습니다.
드라이버는 잠금을 재귀적으로 획득하려고 시도해서는 안 됩니다. 디버거에 연결된 경우 프레임워크는 이 시나리오에서 중단점을 도입합니다.
수동 인터럽트 잠금에 대한 자세한 내용은 인터럽트 코드 동기화를 참조하세요.
UMDF 드라이버에서 인터럽트 처리에 대한 자세한 내용은 하드웨어 액세스 및 인터럽트 처리를 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원 종료 | UMDF 2.0 이상에서는 사용할 수 없습니다. |
대상 플랫폼 | 데스크톱 |
최소 UMDF 버전 | 1.11 |
머리글 | wudfddi.h |
DLL | WUDFx.dll |