掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
電源オン、オフの時間の取得2 (ID:33462)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
たぶんだけど、 ReadEventLog に大きなメモリバッファを割り当てすると、 複数のイベントが読み込まれるんじゃないだろうか? MSDNを読んでみると、以下のように記載されています。 > nNumberOfBytesToRead >バッファのサイズをバイト単位で指定します。指定したバッファに入る、 > できるだけ多くの完全なログエントリが読み取られます。バッファに空き > があっても、エントリの一部が読み取られることはありません。 http://msdn.microsoft.com/ja-jp/library/cc428978.aspx そんなわけで、以下の処理を追加することが対策と思われます。 1)ReadEventLog で、複数のイベントを読むことができた場合に対応する。 2)一回目のReadEventLogは、必ずERROR_INSUFFICIENT_BUFFER になるように 2-A)forループの最初に、必ずバッファサイズを小さくする処理を入れる (ReallocMemで小さくしてしまう) 2-B)ReadEventLogはバッファサイズを小さく与える 実際のバッファサイズより大きいサイズが必要な時だけReallocMemで大きくする 試していないので、うまくいったら報告してください。 ちなみに元スレはこれです https://www.petitmonte.com/bbs/answers?question_id=6124
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.