EVT_WDF_TIMER 콜백 함수(wdftimer.h)
[KMDF 및 UMDF에 적용]
지정된 기간이 경과하면 EvtTimerFunc 이벤트 콜백 함수가 호출됩니다.
구문
EVT_WDF_TIMER EvtWdfTimer;
void EvtWdfTimer(
[in] WDFTIMER Timer
)
{...}
매개 변수
[in] Timer
WdfTimerCreate에 대한 이전 호출에서 가져온 프레임워크 타이머 개체에 대한 핸들입니다.
반환 값
없음
설명
EvtTimerFunc 콜백 함수를 등록하고 프레임워크가 이 함수를 호출하기 전에 경과해야 하는 기간을 지정하려면 드라이버가 WdfTimerCreate를 호출해야 합니다.
버전 1.9 이전의 KMDF 버전에서 프레임워크는 EvtTimerFunc 콜백 함수를 DPC(지연 프로시저 호출)로 구현합니다. 따라서 기간이 경과하면 시스템은 EvtTimerFunc 콜백 함수에 대한 호출을 DPC 큐에 추가합니다. 시스템은 IRQL = DISPATCH_LEVEL EvtTimerFunc 콜백 함수를 호출합니다. 큐의 맨 앞에 도달하면 IRQL < DISPATCH_LEVEL 실행되는 CPU를 사용할 수 있습니다.
KMDF 버전 1.9 이상에서 프레임워크는 기본적으로 EvtTimerFunc 콜백 함수를 DPC로 구현합니다. 또는 드라이버가 타이머 개체의 실행 수준을 WdfExecutionLevelPassive로 설정하는 경우 프레임워크는 IRQL = PASSIVE_LEVEL 작업 항목에서 EvtTimerFunc 콜백 함수를 호출합니다.
참고
PASSIVE_LEVEL 실행되는 EvtTimerFunc 콜백 함수가 WdfObjectDelete를 호출하면 교착 상태가 발생합니다. 대신 디바이스가 제거될 때 부모가 타이머를 자동으로 삭제할 때까지 기다리거나, 일찍 삭제해야 하는 경우 타이머 콜백에서 작업 항목을 예약하여 타이머를 삭제합니다.
UMDF 버전 2.0부터 UMDF 드라이버의 EvtTimerFunc 콜백 함수는 항상 PASSIVE_LEVEL 실행됩니다.
프레임워크 타이머 개체에 대한 자세한 내용은 타이머 사용을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 유니버설 |
최소 KMDF 버전 | 1.0 |
최소 UMDF 버전 | 2.0 |
머리글 | wdftimer.h(Wdf.h 포함) |
IRQL | 설명 섹션을 참조하십시오. |