次の方法で共有


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 つです。

注釈

時間プロバイダーは、この呼び出しから返されるまでに 5 分の 1 以上かかることはありません。

TPC_GetSamples コマンドを処理する場合、プロバイダーは監視しているソースごとに 1 つのサンプルを返す必要があります。 したがって、ハードウェア プロバイダーは 1 つのサンプルを返す必要があり、NTP などのネットワーク プロバイダーは複数のサンプルを返すことができます。 プロバイダーは、1 つのソースから複数のサンプルを返さないでください。ソースのサンプルのキャッシュから最適なサンプルを返す必要があります。 データが変更されていない場合、プロバイダーは後続の呼び出しで同じサンプルを返すことができます。

例については、「 サンプル 時間プロバイダー」を参照してください。

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー timeprov.h

こちらもご覧ください

GetTimeSysInfoFunc

TimeProvOpen

TpcGetSamplesArgs