@@ -274,15 +274,30 @@ static void ParseApplicationInformation(CComPtr<IXMLDOMNode>& parent, AttributeW
274274 }
275275}
276276
277+ static void ParseSettingIDs (CComPtr<IXMLDOMNode>& node, AttributeWriter& writer)
278+ {
279+ writer.addString (Id::PageId, GetTranslatedString (node, L" PageID" ));
280+ writer.addString (Id::HostId, GetTranslatedString (node, L" HostID" ));
281+ writer.addString (Id::GroupId, GetTranslatedString (node, L" GroupID" ));
282+ writer.addString (Id::SettingId, GetTranslatedString (node, L" SettingID" ));
283+ }
284+
285+ static void ParseSettingPaths (CComPtr<IXMLDOMNode>& parent, AttributeWriter& writer)
286+ {
287+ CComPtr<IXMLDOMNode> node;
288+ if (parent->selectSingleNode (CComBSTR (L" SettingPaths/Path" ), &node) == S_OK)
289+ ParseSettingIDs (node, writer);
290+ }
291+
277292static void ParseSettingIdentity (CComPtr<IXMLDOMNode>& parent, AttributeWriter& writer)
278293{
279294 CComPtr<IXMLDOMNode> node;
280295 if (parent->selectSingleNode (CComBSTR (L" SettingIdentity" ), &node) == S_OK)
281296 {
282- writer. addString (Id::PageId, GetTranslatedString (node, L" PageID " ));
283- writer. addString (Id::HostId, GetTranslatedString ( node, L" HostID " ) );
284- writer. addString (Id::GroupId, GetTranslatedString (node, L" GroupID " ));
285- writer. addString (Id::SettingId, GetTranslatedString ( node, L" SettingID " ) );
297+ // Win11 24H2+
298+ ParseSettingPaths ( node, writer );
299+ // older
300+ ParseSettingIDs ( node, writer );
286301 }
287302}
288303
0 commit comments