Compartilhar via


Função QueryUnbiasedInterruptTime (realtimeapiset.h)

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

Sintaxe

BOOL QueryUnbiasedInterruptTime(
  PULONGLONG UnbiasedTime
);

Parâmetros

UnbiasedTime

TBD

Valor de retorno

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

Observações

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 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 temporizadores relativos que teriam expirado durante o sono expirem imediatamente após a vigília.

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 tempo do Windows. Os aplicativos podem usar a contagem de tempo de interrupção para medir durações mais finas do que são 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 de 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 de 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 insira estados de economia de energia. Em vez disso, os aplicativos devem usar um temporizador de alta resolução.

Observação A função QueryUnbiasedInterruptTime produz resultados diferentes em builds de depuração ("verificado") do Windows, pois a contagem de tempo de interrupção e a contagem de tiques são avançadas por aproximadamente 49 dias. Isso ajuda a identificar bugs que podem não ocorrer até que o sistema esteja em execução há muito tempo.
 
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
de cliente com suporte mínimo Windows 7, Windows 8 [aplicativos da área de trabalho | Aplicativos UWP]
servidor com suporte mínimo Windows Server 2008 R2 [aplicativos da área de trabalho | Aplicativos UWP]
da Plataforma de Destino Windows
cabeçalho realtimeapiset.h (inclua Windows.h)
biblioteca Mincore.lib
de DLL Kernel32.dll

Consulte também

de tempo de interrupção

QueryInterruptTime

queryInterruptTimePrecise

QueryUnbiasedInterruptTimePrecise

de estados de energia do sistema

do Windows Time