다음을 통해 공유


TimeProvCommand 함수(timeprov.h)

시간 공급자 관리자가 시간 공급자에게 명령을 보내기 위해 호출하는 콜백 함수입니다.

구문

HRESULT TimeProvCommand(
  [in] TimeProvHandle hTimeProv,
  [in] TimeProvCmd    eCmd,
  [in] TimeProvArgs   pvArgs
);

매개 변수

[in] hTimeProv

시간 공급자에 대한 핸들입니다. TimeProvOpen 함수는 이 핸들을 받습니다.

[in] eCmd

보낼 명령입니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

명령 의미
TPC_GetSamples
시간 공급자는 수집한 시간 샘플을 반환해야 합니다. 사용 가능한 데이터가 없으면 공급자는 샘플을 반환하지 않아야 합니다. 자세한 내용은 설명을 참조하세요.

pvArgs 매개 변수는 TpcGetSamplesArgs 구조체에 대한 포인터입니다. 시간 공급자 관리자는 샘플에 대한 버퍼를 제공합니다. pvArgs 버퍼가 너무 작으면 공급자는 가능한 한 많은 샘플을 제공하고 ERROR_INSUFFICIENT_BUFFER 반환해야 합니다. 공급자가 반환한 다른 오류 코드는 무시됩니다.

TPC_NetTopoChange
네트워크 토폴로지 변경되었습니다. 네트워크 공급자는 네트워크 설정을 다시 검색하고 원본에 연결할 수 있는지 확인해야 합니다.

pvArgs 매개 변수는 사용자(NTC_UserRequested) 또는 시스템(NTC_Default)이 변경을 요청했는지 여부를 나타냅니다.

TPC_Query
다음에 사용하도록 예약됩니다.
TPC_PollIntervalChanged
폴링 간격이 변경되었습니다. 시간 공급자는 GetTimeSysInfo 함수를 호출하여 새 값을 검색해야 합니다.

pvArgs 매개 변수는 사용되지 않습니다. 공급자가 반환한 오류는 무시됩니다.

TPC_Shutdown
시스템이 종료되고 있습니다. 시간 공급자는 5초 이내에 종료되어야 합니다.

pvArgs 매개 변수는 사용되지 않습니다.

TPC_TimeJumped
시스템 시계가 갑자기 조정되었으므로 시간 공급자는 저장한 타임스탬프를 모두 삭제해야 합니다.

pvArgs 매개 변수는 사용자(TJF_UserRequested) 또는 시스템(TJF_Default)이 시간 점프를 요청했는지 여부를 나타냅니다.

TPC_UpdateConfig
시간 공급자는 레지스트리에 저장된 애플리케이션별 구성 데이터가 변경되었는지 확인해야 합니다.

pvArgs 매개 변수는 사용되지 않습니다. 공급자가 반환한 오류는 무시됩니다.

[in] pvArgs

명령 정보를 지정하는 버퍼에 대한 포인터입니다. 이 데이터의 형식은 eCmd 값에 따라 달라집니다.

반환 값

함수가 성공하면 반환 값이 S_OK. 그렇지 않으면 반환 값은 WinError.h에 정의된 오류 코드 중 하나입니다.

설명

시간 공급자는 이 호출에서 반환하는 데 1초 이상 걸리지 않아야 합니다.

TPC_GetSamples 명령을 처리할 때 공급자는 모니터링하는 각 원본에 대해 하나의 샘플을 반환해야 합니다. 따라서 하드웨어 공급자는 하나의 샘플을 반환해야 하지만 NTP와 같은 네트워크 공급자는 여러 샘플을 반환할 수 있습니다. 공급자는 단일 원본에서 여러 샘플을 반환해서는 안 됩니다. 원본에 대한 샘플 캐시에서 최상의 샘플을 반환해야 합니다. 공급자는 데이터가 변경되지 않은 경우 후속 호출에서 동일한 샘플을 반환할 수 있습니다.

예제

예제는 샘플 시간 공급자를 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 timeprov.h

추가 정보

GetTimeSysInfoFunc

TimeProvOpen

TpcGetSamplesArgs