시간 공급자 만들기
시간 공급자는 DLL로 구현됩니다. 각 DLL은 여러 시간 공급자를 지원할 수 있습니다. 각 공급자는 자체 구성 및 동기화를 담당합니다.
시간 공급자는 다음 콜백 함수를 구현해야 합니다.
공급자 DLL을 로드한 후 시간 공급자 관리자는 TimeProvOpen을 호출하여 공급자의 이름과 포인터를 다음 함수에 전달합니다.
이러한 함수는 시간 공급자가 사용합니다. 시간 공급자는 TimeProvOpen 을 사용하여 시간 공급자에게 명령을 보낼 때 공급자 관리자가 사용하는 공급자 핸들을 반환합니다. 핸들 값은 시간 공급자에 의해 정의되며 주로 동일한 DLL에 구현된 서로 다른 공급자를 구분하는 데 사용됩니다. 시간 공급자는 LogTimeProvEventFunc를 사용하여 중요한 이벤트를 기록할 수 있습니다.
시간 공급자 관리자는 TimeProvCommand 를 사용하여 시간 공급자에게 명령을 보냅니다. 시간 공급자가 시간 공급자 관리자에게 사용 가능한 시간 샘플이 있음을 알려야 하는 경우 AlertSamplesAvailFunc를 호출합니다. 그런 다음 시간 공급자 관리자는 TPC_GetSamples 명령을 사용하여 TimeProvCommand 를 호출하여 시간 샘플을 검색합니다. 시간 공급자 관리자가 샘플을 요청하는 데 최대 16초가 걸릴 수 있습니다. 따라서 애플리케이션은 요청을 기다리지 않아야 합니다.
정확도를 보장하기 위해 시간 공급자는 GetTimeSysInfoFunc를 사용하여 모든 시간 관련 정보를 검색해야 합니다.
시간 공급자를 종료할 때 시간 공급자 관리자가 TimeProvClose를 호출합니다.