Udostępnij przez


Uzyskiwanie i ustawianie rozdzielczości czasomierza

[Funkcja skojarzona z tą stroną, czasomierze multimedialne, jest starszą funkcją. Został zastąpiony przez Multimedia Class Scheduler Service. Usługa Harmonogramu klas multimedialnych została zoptymalizowana pod kątem systemów Windows 10 i Windows 11. Firma Microsoft zdecydowanie zaleca, aby nowy kod używał usługi Harmonogramu klas multimedialnych zamiast czasomierzy multimedialnych, jeśli to możliwe. Firma Microsoft sugeruje, że istniejący kod, który używa starszych interfejsów API, należy przepisać go do korzystania z nowych interfejsów API, jeśli to możliwe.]

Poniższy przykład wywołuje funkcję timeGetDevCaps w celu określenia minimalnych i maksymalnych rozdzielczości czasomierza obsługiwanych przez usługi czasomierza. Przed skonfigurowaniem jakichkolwiek zdarzeń czasomierza przykład ustanawia minimalną rozdzielczość czasomierza przy użyciu funkcji timeBeginPeriod.

#define TARGET_RESOLUTION 1         // 1-millisecond target resolution

TIMECAPS tc;
UINT     wTimerRes;

if (timeGetDevCaps(&tc, sizeof(TIMECAPS)) != TIMERR_NOERROR) 
{
    // Error; application can't continue.
}

wTimerRes = min(max(tc.wPeriodMin, TARGET_RESOLUTION), tc.wPeriodMax);
timeBeginPeriod(wTimerRes); 

Używanie czasomierzy multimedialnych