2011-07-28 1 views
0

から現在のミリ秒retriveする tod_msecsをサーバから 型電流ミリ秒を与えない以下:DWORDどのTIME_OF_DAY_INFO構造

任意の開始点(システムリセット)からのミリ秒数。

通常、このメンバーはプロセスの開始時に1回、最後にもう一度読み込まれます。プロセスの開始から終了までの経過時間を調べるには、最初の値を2番目の値から差し引くことができます。

+0

それはどのようにメソッドを呼び出すか、それがあなたに与えるものと期待するものは明確ではありません。 – unkulunkulu

+0

NET_API_STATUS Status = NetRemoteTOD(サーバー、(LPBYTE *)およびTimeOfDay); GetLocalTime(&LocalSystemTime)..これはメソッドです.....私は形式からサーバーから時間を取得する必要があります。11:53:04:456ここでは456はマイクロ秒を表します – Techy

答えて

0

単純な解決策は、プロセスを開始するときにGetTickCount関数を呼び出し、プロセスを終了して差を見つけるときです。 49.7日以上プロセスを実行する場合は、GetTickCount64を代わりに使用してください。

さらに正確な実装が必要な場合は、QueryPerformanceCounter()およびQueryPerformanceFrequency()を参照してください。参照してくださいhttp://msdn.microsoft.com/en-us/library/ms644900(v=vs.85).aspx

+0

私はシステムを比較するために次のコードを使用します時間とサーバtime.GetTickCount関数は、システムが起動されてから経過したミリ秒数を返します。しかし、0から999までの正確なミリ秒値が必要です。コードは次のとおりです。NET_API_STATUS Status = NetRemoteTOD(Server、(LPBYTE *)&TimeOfDay ); GetLocalTime(&LocalSystemTime); - >ここから時間、秒、およびミリ秒が得られます。サーバからの同じフォーマットも必要です。サーバからのミリ秒は取得できませんでした。 – Techy

+0

@Techy GetTickCountを2回呼び出して2番目の値あなたのプロセスの正確な期間を取得します。あなたのコードに来て、tod_msecsを取得しようとしました。これはmilli秒を与えるので、2回取得してそれを引き算する必要があります。 GetLocalTimeはちょうどあなたにあなたのシステム時間を与えます、それは経過時間ではありません – Jeeva

+0

私はtod_msecsの値を取得し、減算しました。しかし、それはまったく相対的ではない非常に大きな値を与えました。 – Techy