SetThreadpoolTimer 함수(threadpoolapiset.h)
타이머 개체를 설정하여 이전 타이머(있는 경우)를 대체합니다. 작업자 스레드는 지정된 시간 제한이 만료된 후 타이머 개체의 콜백을 호출합니다.
구문
void SetThreadpoolTimer(
[in, out] PTP_TIMER pti,
[in, optional] PFILETIME pftDueTime,
[in] DWORD msPeriod,
[in] DWORD msWindowLength
);
매개 변수
[in, out] pti
설정할 타이머 개체를 정의하는 TP_TIMER 구조체에 대한 포인터입니다. CreateThreadpoolTimer 함수는 이 포인터를 반환합니다.
[in, optional] pftDueTime
타이머가 만료되어야 하는 절대 또는 상대 시간을 지정하는 FILETIME 구조체에 대한 포인터입니다. 양수 또는 0인 경우 100나노초 단위로 측정된 1601년 1월 1일(UTC) 이후의 절대 시간을 나타냅니다. 음수이면 현재 시간을 기준으로 대기하는 시간을 나타냅니다. 시간 값에 대한 자세한 내용은 파일 시간을 참조하세요.
이 매개 변수가 NULL인 경우 타이머 개체는 새 콜백 큐를 중단합니다(하지만 이미 큐에 대기 중인 콜백은 계속 발생).
pftDueTime 매개 변수가 NULL이 아닌 경우 타이머가 설정됩니다.
[in] msPeriod
타이머 기간(밀리초)입니다. 이 매개 변수가 0이면 타이머에 한 번 신호가 전송됩니다. 이 매개 변수가 0보다 크면 타이머가 주기적입니다. 주기적 타이머는 타이머가 취소될 때까지 기간이 경과할 때마다 자동으로 다시 활성화됩니다.
[in] msWindowLength
타이머 콜백을 호출하기 전에 시스템이 지연할 수 있는 최대 시간입니다. 이 매개 변수가 0으로 설정되지 않은 경우 시스템은 호출을 일괄 처리하여 전원을 절약할 수 있습니다.
반환 값
없음
설명
타이머를 설정하면 이전 타이머(있는 경우)가 취소됩니다.
경우에 따라 애플리케이션이 threadpool 타이머를 닫은 후 콜백 함수가 실행될 수 있습니다. 이 동작을 방지하려면 애플리케이션이 CloseThreadpoolTimer에 설명된 단계를 따라야 합니다.
pftDueTime으로 지정된 기한이 상대적인 경우 시스템이 절전 모드 또는 최대 절전 모드에서 소비하는 시간은 타이머 만료에 포함되지 않습니다. 타이머는 시스템이 절전 모드 해제 상태에서 소비하는 누적 경과 시간이 타이머의 상대 기한 또는 기간과 같을 때 신호를 보냅니다. pftDueTime으로 지정된 기한이 절대인 경우 시스템이 절전 모드 또는 최대 절전 모드에서 소비하는 시간은 타이머 만료에 포함됩니다. 시스템이 절전 모드인 동안 타이머가 만료되면 시스템이 절전 모드에서 해제될 때 타이머가 즉시 신호를 보냅니다.
pftDueTime으로 지정된 기한이 0이면 타이머가 즉시 만료됩니다.
이 함수를 사용하는 애플리케이션을 컴파일하려면 _WIN32_WINNT 0x0600 이상으로 정의합니다.
예제
예제는 스레드 풀 함수 사용을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | threadpoolapiset.h(Windows 7, Windows Server 2008 Windows Server 2008 R2의 Windows.h 포함) |
라이브러리 | Kernel32.lib |
DLL | Kernel32.dll |