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 콜백 함수에 대한 대기 중인 모든 호출이 실행될 때까지 프레임워크가 반환되지 않도록 지정하는 부울 값입니다.

반환 값

타이머 개체가 시스템의 타이머 큐에 있는 경우 WdfTimerStopTRUE를 반환합니다. 그렇지 않으면 이 메서드는 FALSE를 반환 합니다. 자세한 내용은 아래 설명 부분을 참조하십시오.

드라이버가 잘못된 개체 핸들을 제공하는 경우 버그 검사 발생합니다.

설명

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

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

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

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

예제

다음 코드 예제에서는 지정된 타이머를 중지하고 드라이버의 큐에 대기된 모든 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