WDF_TIMER_CONFIG 구조체(wdftimer.h)
[KMDF 및 UMDF에 적용]
WDF_TIMER_CONFIG 구조에는 프레임워크 타이머 개체에 대한 구성 정보가 포함됩니다.
통사론
typedef struct _WDF_TIMER_CONFIG {
ULONG Size;
PFN_WDF_TIMER EvtTimerFunc;
ULONG Period;
BOOLEAN AutomaticSerialization;
ULONG TolerableDelay;
BOOLEAN UseHighResolutionTimer;
} WDF_TIMER_CONFIG, *PWDF_TIMER_CONFIG;
회원
Size
이 구조체의 크기(바이트)입니다.
EvtTimerFunc
드라이버 제공 EvtTimerFunc 콜백 함수 또는 NULL 포인터입니다.
Period
시간(밀리초)입니다. 프레임워크는 지정된 시간(밀리초)이 경과할 때마다 드라이버의 EvtTimerFunc 콜백 함수를 반복적으로 호출합니다. 이 값이 0이면 프레임워크는 드라이버의 EvtTimerFunc 콜백 함수를 반복적으로 호출하지 않습니다. 대신 WdfTimerStart 메서드의 DueTime 경과한 후 콜백 함수를 한 번 호출합니다. (WdfTimerCreate 실행 수준을 WdfExecutionLevelPassive 설정하면 기간이 0이어야 합니다. 기간은 음수 값일 수 없습니다.
AutomaticSerialization
TRUE 경우 프레임워크가 타이머 개체의 EvtTimerFunc 콜백 함수의 실행을 타이머의 부모 디바이스 개체 아래에 있는 다른 개체의 콜백 함수와 동기화한다는 것을 나타내는 부울 값입니다. 자세한 내용은 다음 설명 섹션을 참조하세요. FALSE 경우 프레임워크는 EvtTimerFunc 콜백 함수의 실행을 동기화하지 않습니다.
TolerableDelay
Period 지정하는 타이머 기간 및 WdfTimerStart 메서드의 DueTime 지정하는 초기 시간 간격에 대한 허용 오차(밀리초)를 지정합니다. 주기적인 타이머의 경우 두 개의 연속 타이머 만료 사이의 시간 간격은 (Period - TolerableDelay)부터 (Period + TolerableDelay)에 이르는 범위에 있습니다. 초기 만료 시간은 DueTime부터 (dueTime + )에 이르기까지 다양합니다. TolerableDelay 값은 음수일 수 없습니다.
TolerableDelay 멤버는 버전 1.9 이상 버전의 KMDF에서 사용할 수 있습니다.
Windows 8.1부터 최소 KMDF 1.13 또는 UMDF 2.0을 사용하는 드라이버에서 이 멤버를 TolerableDelayUnlimited 설정하여 이 타이머의 만료로 인해 시스템이 해제되지 않도록 지정할 수 있습니다.
UseHighResolutionTimer WdfTrue 경우 tolerableDelay 설정해야 합니다. 그렇지 않으면 WdfTimerCreate 오류 코드를 반환합니다.
이 멤버에 대한 자세한 내용은 다음 설명 섹션을 참조하세요.
UseHighResolutionTimer
KMDF만
이 멤버는 Windows 8.1 및 KMDF 버전 1.13부터 사용할 수 있습니다.
WDF_TRI_STATE형식화된 값입니다. 이 값이 WdfTrue 경우 프레임워크는 1밀리초의 정확도를 갖는 고해상도 타이머를 사용합니다. 값이 WdfFalse 또는 WdfDefault 경우 프레임워크는 기본적으로 15.6밀리초인 시스템 클록 틱 간격과 일치하는 정확도를 갖는 표준 타이머를 사용합니다.
이 멤버에 대한 자세한 내용은 다음 설명 섹션을 참조하세요.
발언
WDF_TIMER_CONFIG 구조체는 WdfTimerCreate 메서드에 대한 입력으로 사용됩니다. WDF_TIMER_CONFIG 구조를 초기화하려면 드라이버가 WDF_TIMER_CONFIG_INIT 또는 WDF_TIMER_CONFIG_INIT_PERIODIC호출해야 합니다.
부모 개체의 동기화 범위 WdfSynchronizationScopeNone 설정된 경우 WDF_TIMER_CONFIGAutomaticSerialization 멤버를 TRUE 설정해도 아무 효과가 없습니다.
부모 디바이스 개체의 실행 수준이 WdfExecutionLevelPassive 경우 타이머 개체가 수동 수준 타이머나타내는 경우에만 AutomaticSerialization 멤버를 TRUE 설정할 수 있습니다.
드라이버가 TolerableDelay 멤버를 사용하는 경우 운영 체제는 서로 가까운 만료 시간을 그룹화하고 한 번에 모두 처리할 수 있습니다. 운영 체제에서 여러 타이머의 만료를 한 번에 처리할 수 있는 경우 배터리 수명을 늘리기 위해 컴퓨터를 더 오랜 시간 동안 저전력 상태로 유지할 수 있습니다.
TolerableDelay 멤버가 TolerableDelayUnlimited 경우 타이머가 만료될 때 저전력(Sx) 상태인 경우 시스템이 완전히 켜진(S0) 상태로 돌아가지 않습니다. 드라이버는 타이머가 중요하지 않은 정기적인 작업과 관련된 경우 배터리 수명을 늘리기 위해 tolerableDelayUnlimited 지정할 수 있습니다.
UseHighResolutionTimer WdfTrue 설정하면 배터리 수명이 감소할 수 있습니다.
AutomaticSerialization 및 드라이버 콜백 함수 동기화에 대한 자세한 내용은 Framework-Based 드라이버 대한동기화 기술을 참조하세요.
프레임워크 타이머 개체에 대한 자세한 내용은 타이머 사용 참조하세요.
요구 사항
요구 | 값 |
---|---|
최소 KMDF 버전 | 1.0 |
최소 UMDF 버전 | 2.0 |
헤더 | wdftimer.h(Wdf.h 포함) |