XML DOM对象如何从磁盘加载到内存中

问题描述 投票:1回答:1

你好,新年快乐。在Windows上,我需要一些指导,通过C ++将XML DOM从磁盘加载到内存。

Microsoft提供了这个example,但它没有涵盖使用ntKernel函数执行此操作的实际过程,并且它没有解释实际加载背后的过程。

主进程是否调用内核函数将xml从磁盘加载到mem?

   VariantFromString(L"stocks.xml", varFileName);
   pXMLDom->load(varFileName, &varStatus);

或者有处理请求加载的全局进程,然后在通过内核函数加载xml之后,它将成为DOM对象的链接,并将其返回到它询问的进程。

我想知道内核函数从磁盘加载.xml文件的工作是什么?

谢谢 !

c++ xml dom
1个回答
1
投票

“加载XML”没有内核函数(至少没有DOMDocument60 coclass使用的函数)。

相反,它只是使用通用文件读取调用(在内核中这是ZwReadFile),然后DOMDocument60代码将文件内容解析为它使用的任何内部表示。

涉及的唯一上下文切换将在用户和内核模式之间而不是在一个进程,内核模式和另一个进程之间(除非可能涉及某种用户模式文件系统但是如果它可能你不需要问这个问题) )。

© www.soinside.com 2019 - 2024. All rights reserved.