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 매개 변수의 지정된 값이 매개 변수 설명에 지정된 유효한 기간 내에 있지 않으면 이 함수가 실패합니다.
설명
이 함수에는 연결된 가져오기 라이브러리가 없습니다. LoadLibrary 및 GetProcAddress 함수를 사용하여 Ntdll.dll 동적으로 연결해야 합니다.
해당하는 공용 함수는 하나도 없습니다. 공용 함수를 사용하여 이 작업을 수행하려면 다음 단계를 사용합니다.
- SystemTimeToFileTime을 호출하여 시스템 시간을 FILETIME 구조체에 복사합니다. GetSystemTime을 호출하여 SystemTimeToFileTime에 전달할 현재 시스템 시간을 가져옵니다.
- FILETIME 구조체의 내용을 ULARGE_INTEGER 구조체에 복사합니다.
- 1970년 1월 1일의 첫 번째 초 날짜와 시간을 사용하여 SYSTEMTIME 구조를 초기화합니다.
- SystemTimeToFileTime을 호출하여 3단계에서 초기화된 SYSTEMTIME 구조를 호출에 전달합니다.
- 4단계에서 SystemTimeToFileTime에서 반환한 FILETIME 구조체의 내용을 두 번째 ULARGE_INTEGER 복사합니다. 복사된 값은 2단계에서 복사한 값보다 작거나 같아야 합니다.
- 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 |