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

时间:2018-01-01 17:19:05

标签: c++ xml dom

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

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

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

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

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

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

谢谢!

1 个答案:

答案 0 :(得分:1)

没有内核功能可以加载XML' (至少没有一个DOMDocument60 coclass使用过。

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

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