다음을 통해 공유


WdfTimerStop 함수(wdftimer.h)

[KMDF 및 UMDF에 적용]

WdfTimerStop 메서드는 타이머의 시계를 중지합니다.

통사론

BOOLEAN WdfTimerStop(
  [in] WDFTIMER Timer,
  [in] BOOLEAN  Wait
);

매개 변수

[in] Timer

WdfTimerCreate호출하여 가져온 프레임워크 타이머 개체에 대한 핸들입니다.

[in] Wait

KMDF 부울 값으로, true경우 드라이버의 EvtTimerFunc 콜백 함수를 포함하여 드라이버의 지연 프로시저 호출(DPC)에 대한 대기 중인 모든 호출이 실행될 때까지 프레임워크가 반환되지 않도록 지정합니다.

UMDF true경우 타이머의 EvtTimerFunc 콜백 함수에 대한 대기 중인 모든 호출이 실행될 때까지 프레임워크가 반환되지 않도록 지정하는 부울 값입니다.

반환 값

WdfTimerStop 타이머 개체가 시스템의 타이머 큐에 있는 경우 TRUE 반환합니다. 그렇지 않으면 이 메서드는 false반환합니다. 자세한 내용은 다음 설명 섹션을 참조하세요.

드라이버에서 잘못된 개체 핸들을 제공하면 버그 검사가 수행됩니다.

발언

드라이버가 WdfTimerStart호출하면 해당 타이머 개체가 시스템의 타이머 개체 큐에 추가됩니다. 타이머가 정기 타이머가 아닌 경우 시스템은 타이머의 "기한"이 경과한 후 큐에서 타이머 개체를 제거합니다. 타이머가 주기적 타이머인 경우 드라이버가 WdfTimerStop호출할 때까지 타이머 개체가 큐에 유지됩니다.

프레임워크 타이머 개체에 대한 자세한 내용은 타이머 사용참조하세요.

Wait 매개 변수가 TRUE경우 WdfTimerStop IRQL = PASSIVE_LEVEL 호출해야 합니다. 그렇지 않으면 IRQL <= DISPATCH_LEVEL 이 메서드를 호출해야 합니다.

Wait 매개 변수가 TRUE설정된 EvtTimerFunc 내부에서 WdfTimerStop 호출하지 마세요. 이렇게 하면 교착 상태가 발생할 수 있습니다.

주의

동일한 타이머 개체에서 WdfTimerStop 대한 동시 호출은 검증 도구가 사용되는 경우 디버거에 침입합니다. 자세한 내용은 KMDF 검증 도구사용하는 참조하세요.

예제

다음 코드 예제에서는 지정된 타이머를 중지하고 드라이버의 큐에 대기된 모든 DPC가 실행될 때까지 기다립니다.

WdfTimerStop(
             timerHandle,
             TRUE
             );

요구 사항

요구
대상 플랫폼 보편적
최소 KMDF 버전 1.0
최소 UMDF 버전 2.0
헤더 wdftimer.h(Wdf.h 포함)
라이브러리 Wdf01000.sys(KMDF); WUDFx02000.dll(UMDF)
IRQL 설명 섹션을 참조하세요.
DDI 규정 준수 규칙 DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

참고 항목

EvtTimerFunc

WdfTimerCreate

WdfTimerStart