@@ -274,15 +274,30 @@ static void ParseApplicationInformation(CComPtr<IXMLDOMNode>& parent, AttributeW
274
274
}
275
275
}
276
276
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
+
277
292
static void ParseSettingIdentity (CComPtr<IXMLDOMNode>& parent, AttributeWriter& writer)
278
293
{
279
294
CComPtr<IXMLDOMNode> node;
280
295
if (parent->selectSingleNode (CComBSTR (L" SettingIdentity" ), &node) == S_OK)
281
296
{
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 );
286
301
}
287
302
}
288
303
0 commit comments