你好,新年快乐。 我需要一些指南,了解在 Windows 上使用 C++ 将 XML DOM 从磁盘加载到内存的过程。
Microsoft 提供此 example ,但它没有涵盖使用 ntKernel 函数执行此操作的实际过程,也没有解释实际负载背后的过程。
主进程是否调用内核函数将 xml 从磁盘加载到内存?
VariantFromString(L"stocks.xml", varFileName);
pXMLDom->load(varFileName, &varStatus);
或者有一个处理加载请求的全局进程,然后在它通过内核函数加载 xml 之后,创建一个指向 DOM 对象的链接,并将它返回给请求的进程。
我想知道什么内核函数负责从磁盘加载 .xml 文件?
谢谢!
最佳答案
没有用于“加载 XML”的内核函数(至少没有被 DOMDocument60 组件类使用。
相反,它只是使用通用文件读取调用(在内核中这是 ZwReadFile),DOMDocument60 代码然后将文件内容解析为它使用的任何内部表示形式。
唯一涉及的上下文切换是在用户模式和内核模式之间,而不是在一个进程、内核模式和另一个进程之间(除非可能涉及某种用户模式文件系统,但如果是的话,你可能不需要问这个问题)。
关于c++ - XML DOM 对象如何从磁盘加载到内存中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48051685/