Share via


Função QueryUnbiasedInterruptTime (realtimeapiset.h)

Obtém a contagem atual de tempo de interrupção imparcial, em unidades de 100 nanossegundos. A contagem de tempo de interrupção imparcial não inclui o tempo gasto pelo sistema em suspensão ou hibernação.

Sintaxe

BOOL QueryUnbiasedInterruptTime(
  PULONGLONG UnbiasedTime
);

Parâmetros

UnbiasedTime

TBD

Valor retornado

Se a função for bem-sucedida, o valor retornado será diferente de zero. Se a função falhar porque é chamada com um parâmetro nulo, o valor retornado será zero.

Comentários

A contagem de tempo de interrupção começa em zero quando o sistema é iniciado e é incrementado em cada interrupção de relógio pelo comprimento de um tique de relógio. O comprimento exato de um tique de relógio depende do hardware subjacente e pode variar entre os sistemas.

A contagem de tempo de interrupção recuperada pela função QueryUnbiasedInterruptTime reflete apenas a hora em que o sistema está no estado de trabalho. Portanto, a contagem de tempo de interrupção não é "tendenciosa" pelo tempo que o sistema gasta em suspensão ou hibernação. O sistema usa o tempo de interrupção tendencioso para algumas operações, como garantir que os temporizadores relativos que teriam expirado durante o sono expirem imediatamente após a ativação.

Ao contrário do tempo do sistema, a contagem de tempo de interrupção não está sujeita a ajustes por parte dos usuários ou do serviço de horário do Windows. Os aplicativos podem usar a contagem de tempo de interrupção para medir durações mais finas do que as possíveis com o tempo do sistema. Os aplicativos que exigem maior precisão do que a contagem de tempo de interrupção devem usar um temporizador de alta resolução. Use a função QueryPerformanceFrequency para recuperar a frequência do temporizador de alta resolução e a função QueryPerformanceCounter para recuperar o valor do contador.

A resolução do temporizador definida pelas funções timeBeginPeriod e timeEndPeriod afeta a resolução da função QueryUnbiasedInterruptTime . No entanto, não é recomendável aumentar a resolução do temporizador porque ele pode reduzir o desempenho geral do sistema e aumentar o consumo de energia do sistema, impedindo que o processador entre em estados de economia de energia. Em vez disso, os aplicativos devem usar um temporizador de alta resolução.

Nota A função QueryUnbiasedInterruptTime produz resultados diferentes em builds de depuração ("verificados") do Windows, pois a contagem de tempo de interrupção e a contagem de tiques são avançadas em aproximadamente 49 dias. Isso ajuda a identificar bugs que podem não ocorrer até que o sistema esteja em execução há muito tempo. O build verificado está disponível para assinantes do MSDN por meio do site do MSDN (Microsoft Developer Network ).
 
Para compilar um aplicativo que usa essa função, defina _WIN32_WINNT como 0x0601 ou posterior. Para obter mais informações, consulte Usando os cabeçalhos do Windows.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7, Windows 8 [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 R2 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho realtimeapiset.h (inclua Windows.h)
Biblioteca Kernel32.lib
DLL Kernel32.dll

Confira também

Tempo de Interrupção

QueryInterruptTime

QueryInterruptTimePrecise

QueryUnbiasedInterruptTimePrecise

Estados de energia do sistema

Tempo do Windows