vm_release 内核服务
注: 不支持在大页上使用 vm_release 子例程。
用途
释放指定地址范围的虚拟内存资源。
语法
描述
vm_release 内核服务会释放与指定地址范围 (从 沃德尔 参数到 沃德尔 参数) 相交的页面,加上 nbytes 参数指定的字节数。 nbytes 参数中的值必须是非负值,并且调用者必须对地址范围指定的页面具有写访问权。
与字节范围相交的每个页在逻辑上重置为 0 ,并且任何页帧都将被废弃。 处于 I/O 状态的页帧在 I/O 完成时标记为废弃。 即,当 I/O 操作完成时,页帧被放置在空闲列表上。
注: 要释放的所有页面都必须位于同一个虚拟内存对象中。
参数
| 项 | 描述 |
|---|---|
| 沃德尔 | 指定要释放的地址范围中的第一个字节的地址。 |
| nbytes | 指定要释放的字节的数目。 |
执行环境
仅可从 流程环境 调用 vm_release 内核服务。
返回值
| 项 | 描述 |
|---|---|
| 重大安全事件数量 | 指示成功完成。 |
| EACCES | 指示调用者对指定的页面不具有写访问权。 |
| EINVAL | 指示下列其中一个错误:
|