解组自定义编组对象和类 {45FB4600-E6E8-4928-B25E-50476FF79425} 时执行了解组策略检查

Max*_*tin 5 windows windows-event-log eventviewer azure

我定期在 Azure Windows 10 应用程序事件日志中收到以下错误消息:

An unmarshaling policy check was performed when unmarshaling a custom marshaled object and the class {45FB4600-E6E8-4928-B25E-50476FF79425} was rejected
Run Code Online (Sandbox Code Playgroud)

Windows 版本是 21H1 OS Build 19043.1387。

我在MSDN 论坛上看到了 2013 年 12 月 13 日的相同报告,但此后没有解决方案。

这是报告的 XML 视图。

- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
  <Provider Name="Microsoft-Windows-COMRuntime" Guid="{bf406804-6afa-46e7-8a48-6c357e1d6d61}" EventSourceName="COM" /> 
  <EventID Qualifiers="0">10031</EventID> 
  <Version>0</Version> 
  <Level>2</Level> 
  <Task>0</Task> 
  <Opcode>0</Opcode> 
  <Keywords>0x8080000000000000</Keywords> 
  <TimeCreated SystemTime="2021-11-29T12:34:18.1932644Z" /> 
  <EventRecordID>27780</EventRecordID> 
  <Correlation /> 
  <Execution ProcessID="5708" ThreadID="1852" /> 
  <Channel>Application</Channel> 
  <Computer>hw2.masiutin.com</Computer> 
  <Security /> 
  </System>
- <EventData>
  <Data>{45FB4600-E6E8-4928-B25E-50476FF79425}</Data> 
  </EventData>
  </Event>
Run Code Online (Sandbox Code Playgroud)

如何解决此问题和/或防止此错误出现在日志中?

Stu*_*rde 1

以下是您的错误的可能修复方法:

1.首先确定哪个进程或服务触发了此错误。

2.检查任务管理器中的进程ID 5708(在上面的示例中,但当您返回检查时可能会有所不同)。

3.检查进程或服务以哪个身份运行。 任务管理器也会在栏中显示这一点User。如果它是服务,您可以检查服务管理器以查看它配置为以哪个身份运行

4.确定此过程使用的用户或服务帐户后,记下它并前往注册表编辑器。

5.在注册表中搜索该类GUID。对于找到的每个实例,更改权限以向该FULL密钥及其子密钥授予上述服务帐户和 SYSTEM 身份权限。(我也在这里看到了添加管理员的建议,但如果可能的话,最好将其定位到特定的服务帐户。

6.一旦您的进程身份拥有类密钥的权限,请重新启动系统,问题应该会得到解决。

类似的帖子,如果你想比较笔记:

[1] - https://www.tenforums.com/general-support/108499-event-id-10031-a.html

[2] - https://social.technet.microsoft.com/Forums/en-US/325ab240-5eff-4a4b-9f5b-2eaf2a4002ed/an-unmarshaling-policy-check-was-performed-when-unmarshaling-a-自定义编组对象和类?forum=systemcenterservicemanager