C ++でWIN APIでイベントビューアーログを取得します
-
04-10-2019 - |
質問
私のアプリケーションは、イベントビューアーログを指定されたディレクトリに保存する必要があり、Win APIで実行する必要があります。アプリケーションとシステムログが必要です。
編集:evtexportlog-最小限の要件がWin Server 2008であるため、この機能を使用できないことがわかりました。WinServer 2000とWin Server 2003で作業する必要があります。
何を使用するか、それを使用する方法はありますか?
リチャードクックのおかげで解決策があります。
int getEventLogs()
{
HANDLE h = OpenEventLog(NULL,"System");
if(!BackupEventLog(h,"backup.evt"))
{
wprintf(L"BackupEventLog failed for initial export with %lu.\n", GetLastError());
}
return 1;
}
解決
システムで使用可能なチャネルを使用して列挙できます EvtOpenChannelEnum
, EvtNextChannelPath
と EvtClose
(ドキュメンテーション)。これらのAPI(EvtNextChannelPath
具体的には、適切な形式でパスを返します EvtExportLog
.
所属していません StackOverflow