「Windowsカーネルのセキュリティおよびドライバ開発」ノートを読んで - インデックスディレクトリ
「Windowsカーネルのセキュリティおよびドライバの開発」および4.3倍タイマー
まず、システムの起動時からのミリ秒数を取得します
/ * 関数の影響:オペレーティングシステムの起動が経験からのミリ秒数を求めて パラメータ1 MESC:計算結果(ミリ秒) * / 無効MyGetTickCount(PULONGミリ秒){ LARGE_INTEGER Tick_countを、 ULONG myinc = KeQueryTimeIncrement(); // 取得ティック KeQueryTickCount (&Tick_count); // 使用Tickイベントのナノ秒ゲット tick_count.QuadPart * = myinc; tick_count.QuadPart / = 10000 ; *ミリ秒= tick_count.LowPartを; }
第二に、現在のシステム時刻を取得します
/ * 機能効果:出力電流の時間 * / VOID MyCurTimerStr(){ 今LARGE_INTEGER雪、; TIME_FIELDSのnow_fields、 静的 WCHARのtime_str [ 32 ] = { 0 }; // 時間取得 KeQuerySystemTime、(&雪); // ローカルに変換時間 (&スノー&ExSystemTimeToLocalTime 今); // 人が要素ことを理解すべきでの変換時間 RtlTimeToTimeFields(&スノー、&now_fields); // ログに出力 DbgPrint(「%% 2D-2D 4D - %%% 2D-2D- 2D%」、 now_fields.Year、now_fields.Month、now_fields.Day、 now_fields.Hour、now_fields.Minute、now_fields.Second)。 }
第三に、タイマー - 継続します