RtlTimeToSecondsSince1970 함수(winternl.h)

[RtlTimeToSecondsSince1970 은 Windows 2000 및 Windows XP에서 사용할 수 있습니다. 이후 릴리스에서 사용할 수 없거나 수정될 수 있습니다.]

지정된 64비트 시스템 시간을 1970년 1월 1일 이후의 초 수로 변환합니다.

구문

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

매개 변수

[in] Time

시스템 시간을 지정하는 LARGE_INTEGER 구조체에 대한 포인터입니다. 이 값의 유효한 연도는 1970년에서 2105년입니다.

[out] ElapsedSeconds

초 수를 수신하는 변수에 대한 포인터입니다.

반환 값

함수가 성공하면 TRUE를 반환합니다. 실패하면 FALSE를 반환합니다. 일반적으로 Time 매개 변수의 지정된 값이 매개 변수 설명에 지정된 유효한 기간 내에 있지 않으면 이 함수가 실패합니다.

설명

이 함수에는 연결된 가져오기 라이브러리가 없습니다. LoadLibraryGetProcAddress 함수를 사용하여 Ntdll.dll 동적으로 연결해야 합니다.

해당하는 공용 함수는 하나도 없습니다. 공용 함수를 사용하여 이 작업을 수행하려면 다음 단계를 사용합니다.

  1. SystemTimeToFileTime을 호출하여 시스템 시간을 FILETIME 구조체에 복사합니다. GetSystemTime을 호출하여 SystemTimeToFileTime에 전달할 현재 시스템 시간을 가져옵니다.
  2. FILETIME 구조체의 내용을 ULARGE_INTEGER 구조체에 복사합니다.
  3. 1970년 1월 1일의 첫 번째 초 날짜와 시간을 사용하여 SYSTEMTIME 구조를 초기화합니다.
  4. SystemTimeToFileTime을 호출하여 3단계에서 초기화된 SYSTEMTIME 구조를 호출에 전달합니다.
  5. 4단계에서 SystemTimeToFileTime에서 반환한 FILETIME 구조체의 내용을 두 번째 ULARGE_INTEGER 복사합니다. 복사된 값은 2단계에서 복사한 값보다 작거나 같아야 합니다.
  6. 5단계(1970년 1월 1일)에 초기화된 ULARGE_INTEGER 구조체의 64비트 값을 2단계(현재 시스템 시간)에서 초기화된 ULARGE_INTEGER 구조체의 64비트 값에서 뺍니다. 이는 1970년 1월 1일 이후 100나노초 간격으로 값을 생성합니다. 이 값을 초로 변환하려면 10,000,000으로 나눕니다.

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 winternl.h
라이브러리 ntdll.lib
DLL ntdll.dll

추가 정보

FILETIME

Systemtime

SystemTimeToFileTime

시간 함수

ULARGE_INTEGER