Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/136.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ EvtArchiveExportedLog失败,错误为\u目录_C++_Windows_Winapi_Event Log - Fatal编程技术网

C++ EvtArchiveExportedLog失败,错误为\u目录

C++ EvtArchiveExportedLog失败,错误为\u目录,c++,windows,winapi,event-log,C++,Windows,Winapi,Event Log,我需要将Windows事件日志中的一些事件导出到Windows Server 2008 R2上的XML。为了实现这一点,我使用EvtExportLog将这些事件导出到一个文件中,然后尝试使用EvtArchiveExportedLog获取事件的本地化描述。 以下是示例: EvtExportLog( 0, 0, query, logFileName, EvtExportLogChannelPath ); EvtArchiveExportedLog( 0, logFileName, 0, 0 );

我需要将Windows事件日志中的一些事件导出到Windows Server 2008 R2上的XML。为了实现这一点,我使用EvtExportLog将这些事件导出到一个文件中,然后尝试使用EvtArchiveExportedLog获取事件的本地化描述。 以下是示例:

EvtExportLog( 0, 0, query, logFileName, EvtExportLogChannelPath );
EvtArchiveExportedLog( 0, logFileName, 0, 0 );

EvtExportLog函数成功并创建.evtx文件,但EvtArchiveExportedLog不断失败,出现错误\目录错误代码。我不知道这种行为的原因是什么。看来我已经找到了原因
EvtArchiveExportedLog
对承载事件日志服务的svchost.exe进行RPC调用。此服务尝试在“%windir%\ServiceProfiles\LocalService\AppData\Local\Temp”文件夹中创建一个文件,由于
ERROR\u ACCESS\u DENIED
code而失败,并将
ERROR\u目录
返回到RPC客户端。就RPC服务器模拟客户端而言,解决方案是向调用线程授予访问权限。

警告:这些临时文件的模式为pub*.tmp、msg*.tmp和evt*.tmp,它们将被创建,并且不会通过调用
EvtArchiveExportedLog被删除。指示路径实际上是%systemroot%\ServiceProfiles\LocalService\AppData\Local\Temp[对于大多数人来说C:\Windows\ServiceProfiles\LocalService\AppData\Local\Temp]