vm_ioaccessp 内核服务
用途
对指定的页面范围启动异步页面调进或页面调出。
语法
参数
| 项 | 描述 |
|---|---|
| 布希德 | 标识基本段。 |
| 普首 | 范围内的第一个页码。 |
| npages | 从 普首 值开始,要访问的页面数。 所有页面必须位于同一段中。 |
| 修饰符 (modifier) | 由用户传递的标志。 下面详细介绍了这些标志。 |
描述
vm_ioaccessp 内核服务例程使具有线程级策略例程的客户机文件系统能够访问指定的页面。 此调用是严格的咨询,可能在未执行任何操作的情况下返回。 如果您希望实际移动数据,请调用 VM_uiomove 内核服务。 如果要对目标进行预调页,请调用 vm_readp 内核服务。
通过 修改者 参数传递的标志确定 vm_ioaccessp 内核服务所执行的操作的类型。 有关每个标志的用途的详细信息,请参阅下表。
这些旗帜带有某些限制。 不能同时请求 make 和 flush 操作。 此外,如果已声明 VM_IOACCESSP_WAITONLY 标志,那么必须至少指定一种类型的等待操作。 最后,如果声明了 VM_IOACCESSP_WAITONLY 标志,那么无法请求 make 或 flush 操作。
标志
| 值 | 名称 | 用途 |
|---|---|---|
| 0x0001 | VM_IOACCESSP_MAKE | 在指定范围内创建处于页面调进状态的新页面。 最多只能组成 1MB 个页面。 |
| 0x0002 | VM_IOACCESSP_FLUSH | 清空指定范围内的页面。 |
| 0x0004 | VM_IOACCESSP_PGINWAIT | 如果指定范围内的页面处于页面调进状态,那么将阻止该页面直至页面调进完成。 |
| 0x0008 | VM_IOACCESSP_PGOUTWAIT | 如果指定范围内的页面处于页面出页状态,那么在页面出页完成之前将阻止。 |
| 0x0010 | VM_IOACCESSP_WAITONLY | 指定的等待完成后返回。 另外,还必须指定 VM_IOACCESSP_PGINWAIT 标志和 VM_IOACCESSP_PGOUTWAIT 标志。 |
执行环境
仅可从 流程环境 调用 vm_ioaccessp 内核服务。
返回值
| 项 | 描述 |
|---|---|
| 重大安全事件数量 | 指示 I/O 访问操作的完成情况。 |
| EINVAL | 指示下列其中一个错误:
|