当EventLogProvider不包含消息表时,如何读取Windows事件消息

时间:2017-08-31 23:05:56

标签: c windows winapi dll

似乎并非所有Windows事件消息扩展字符串都在" EventMessageFile"中指定。注册表值。例如,对于" Microsoft-Windows-TerminalServices-RemoteConnectionManager"在Windows 2008服务器上,EventMessageFile DLL%SystemRoot%\ system32 \ termsrv.dll"不包含消息表:

missing message table

这意味着将DLL句柄设置为termsrv.dll的FormatMessageW无效:(我在哪里可以获得正确的消息字符串?

1 个答案:

答案 0 :(得分:3)

带有MUI resource的Windows PE文件将语言特定资源存储在扩展名为.MUI的外部PE文件中。在这种情况下,英文资源的文件为%SystemRoot%\system32\en-us\termsrv.dll.mui

大多数Windows API在加载资源时会自动遵循MUI重定向...