Поделиться через


Функция RtlTimeToSecondsSince1970 (winternl.h)

[RtlTimeToSecondsSince1970 доступен для использования в Windows 2000 и Windows XP. Он может быть недоступен или изменен в последующих выпусках.]

Преобразует указанное 64-разрядное системное время в секунды с начала 1 января 1970 года.

Синтаксис

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

Параметры

[in] Time

Указатель на структуру LARGE_INTEGER , указывающую системное время. Допустимые годы для этого значения — от 1970 до 2105 включительно.

[out] ElapsedSeconds

Указатель на переменную, получающую количество секунд.

Возвращаемое значение

Если функция выполняется успешно, возвращается значение TRUE. В случае сбоя возвращается значение FALSE. Как правило, эта функция завершается сбоем, если указанное значение параметра Time не находится в пределах допустимого интервала времени, указанного в описании параметра.

Комментарии

У этой функции нет связанной библиотеки импорта. Для динамической связи с Ntdll.dll необходимо использовать функции LoadLibrary и GetProcAddress .

Не существует единой эквивалентной общедоступной функции. Чтобы выполнить эту задачу с помощью общедоступных функций, выполните следующие действия.

  1. Вызовите SystemTimeToFileTime , чтобы скопировать системное время в структуру FILETIME . Вызовите Метод GetSystemTime , чтобы получить текущее системное время, передаваемого в SystemTimeToFileTime.
  2. Скопируйте содержимое структуры FILETIME в ULARGE_INTEGER структуру.
  3. Инициализируйте структуру SYSTEMTIME с датой и временем первой секунды 1 января 1970 г.
  4. Вызовите SystemTimeToFileTime, передавая в вызов структуру SYSTEMTIME , инициализированную на шаге 3.
  5. Скопируйте содержимое структуры FILETIME, возвращенной SystemTimeToFileTime на шаге 4, во второй ULARGE_INTEGER. Скопированное значение должно быть меньше или равно значению, скопированного на шаге 2.
  6. Вычитает 64-разрядное значение в структуре ULARGE_INTEGER , инициализированной на шаге 5 (1 января 1970 г.) из 64-разрядного значения структуры ULARGE_INTEGER , инициализированной на шаге 2 (текущее системное время). С 1 января 1970 г. создается значение в 100-наносекундных интервалах. Чтобы преобразовать это значение в секунды, разделите на 10 000 000.

Требования

Требование Значение
Целевая платформа Windows
Header winternl.h
Библиотека ntdll.lib
DLL ntdll.dll

См. также раздел

FILETIME

SYSTEMTIME

SystemTimeToFileTime

Функции времени

ULARGE_INTEGER