投稿時間:2005/12/17(Sat) 18:48 投稿者名:仁志
Eメール:bye070@yahoo.co.jp
URL :
タイトル:VB6.0によるWindowsイベントログ取得
初めましてです。 自分は仁志と申します。さっそく質問なんですが 現在VB6.0でWindowsイベントログを取得しようと奮闘しています。 ですが、イベントログの説明の部分が上手く取れません。 それ以外の部分はうまく取れているのですが。。。。
------------------------------------------------------------------------- Windows上より取ってきたイベントログ説明(システム) システムは次の設定のネットワーク アダプタを登録できませんでした: アダプタ名 : {F5104CA0-4DD4-4BCC-A8FC-5ED4EBCA97A8}
プログラムより取得してきた説明部分 \Device\NetBT_Tcpip_{F5104CA0-4DD4-4BCC-A8FC-5ED4EBCA97A8} -------------------------------------------------------------------------
と上記のようになってしまいます。
ソースの一部を公開いたしますのでご教授いただければ幸いです。
------------------------------------------------------------------------- 動作環境 OS Windows2000 言語 Visual Basic6.0 -------------------------------------------------------------------------
Public Function GetLog() Dim hEventLog As Long Dim typLogRec As EVENTLOGRECORD Dim lngRet As Long Dim lngBytesRead As Long Dim lngMinNumberOfBytesNeeded As Long Dim bytBuf() As Byte Dim lngLen As Long Dim bytEdit() As Byte Dim intEdit As Integer Dim strString As String
Erase bytBuf ReDim bytBuf(0) ReDim bytBufA(0) '-- 必要なバッファサイズを取得する lngRet = ReadEventLog(hEventLog, EVENTLOG_SEQUENTIAL_READ Or EVENTLOG_BACKWARDS_READ, _ 0&, bytBuf(0), 0, lngBytesRead, lngMinNumberOfBytesNeeded) If lngRet = 0& Then lngLen = lngMinNumberOfBytesNeeded ReDim bytBuf(lngLen - 1) '-- イベントログレコードの取得 lngRet = ReadEventLog(hEventLog, EVENTLOG_SEQUENTIAL_READ Or EVENTLOG_BACKWARDS_READ, _ 0&, bytBuf(0), lngLen, lngBytesRead, lngMinNumberOfBytesNeeded)
CopyMemory typLogRec, bytBuf(0), LenB(typLogRec)
With typLogRec '-- イベントログレコードの取得 Erase bytEdit ReDim bytEdit(.DataOffset - .StringOffset) CopyMemory bytEdit(0), bytBuf(.StringOffset), UBound(bytEdit) strString = StrConv(bytEdit, vbUnicode) End With
End With;
END Function
API、EventLogRecordなどの表記もしてあるのですが、上手くいきません。 これは自分の見解なのですが、 取得できるイベントログ説明文は上記のものが限界なのかもしれないと、考えております。 以上になりますが、なにかお分かりのことや、ご指摘していただけることがあればご教授ください。
宜しくお願いします。
|