Share via


Função RtlTimeToSecondsSince1970 (winternl.h)

[RtlTimeToSecondsSince1970 está disponível para uso no Windows 2000 e no Windows XP. Ele pode estar indisponível ou modificado em versões subsequentes.]

Converte o tempo especificado do sistema de 64 bits no número de segundos desde o início de 1º de janeiro de 1970.

Sintaxe

BOOLEAN RtlTimeToSecondsSince1970(
  [in]  PLARGE_INTEGER Time,
  [out] PULONG         ElapsedSeconds
);

Parâmetros

[in] Time

Um ponteiro para uma estrutura LARGE_INTEGER que especifica a hora do sistema. Os anos válidos para esse valor são de 1970 a 2105, inclusive.

[out] ElapsedSeconds

Um ponteiro para uma variável que recebe o número de segundos.

Retornar valor

Se a função for bem-sucedida, ela retornará TRUE. Se falhar, retornará FALSE. Normalmente, essa função falhará se o valor especificado do parâmetro Time não estiver dentro do período de tempo válido especificado na descrição do parâmetro.

Comentários

Essa função não tem nenhuma biblioteca de importação associada. Você deve usar as funções LoadLibrary e GetProcAddress para vincular dinamicamente a Ntdll.dll.

Não há uma única função pública equivalente. Para executar essa tarefa usando funções públicas, use as seguintes etapas:

  1. Chame SystemTimeToFileTime para copiar a hora do sistema para uma estrutura FILETIME . Chame GetSystemTime para obter a hora atual do sistema para passar para SystemTimeToFileTime.
  2. Copie o conteúdo da estrutura FILETIME para uma estrutura ULARGE_INTEGER .
  3. Inicialize uma estrutura SYSTEMTIME com a data e a hora do primeiro segundo de 1º de janeiro de 1970.
  4. Chame SystemTimeToFileTime, passando a estrutura SYSTEMTIME inicializada na Etapa 3 para a chamada.
  5. Copie o conteúdo da estrutura FILETIME retornado por SystemTimeToFileTime na Etapa 4 para um segundo ULARGE_INTEGER. O valor copiado deve ser menor ou igual ao valor copiado na Etapa 2.
  6. Subtraia o valor de 64 bits na estrutura ULARGE_INTEGER inicializada na Etapa 5 (1º de janeiro de 1970) do valor de 64 bits da estrutura ULARGE_INTEGER inicializada na Etapa 2 (a hora atual do sistema). Isso produz um valor em intervalos de 100 nanossegundos desde 1º de janeiro de 1970. Para converter esse valor em segundos, divida por 10.000.000.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho winternl.h
Biblioteca ntdll.lib
DLL ntdll.dll

Confira também

FILETIME

SYSTEMTIME

SystemTimeToFileTime

Funções de tempo

ULARGE_INTEGER