vm_move 内核服务
用途
在虚拟内存对象与 乌约 结构中指定的缓冲区之间移动数据。
语法
参数
| 项 | 描述 |
|---|---|
| 弗米德 | 指定虚拟内存对象标识。 |
| 偏移量 | 指定虚拟内存对象中的偏移量。 |
| limit | 指示对传输长度的限制。 如果此参数为负数或 0 ,那么不会传输任何字节。 |
| rw | 指定一个读/写标志,该标志给出移动的方向。 此参数 (UIO_READ, UIO_WRITE) 的可能值在 /usr/include/sys/uio.h 文件中定义。 |
| 乌约 | 点至 乌约 结构。 |
描述
vm_move 内核服务会在虚拟内存对象与 乌约 结构中指定的缓冲区之间移动数据。
此服务根据对象中的偏移量确定进行数据移动所需的虚拟寻址。
vm_move 内核服务与 乌约莫韦 内核服务类似,但是可信缓冲区的地址由 弗米德 和 偏移 参数指定,而不是作为 卡德拉特 地址指定。 由于虚拟内存对象必须小于此大小,因此偏移量大小也限制为 卡德拉特 地址的大小。
注: vm_move 内核服务不支持跨内存描述符的使用。
调页空间的 I/O 错误和缺少调页空间被报告为信号。
执行环境
仅可从 流程环境 调用 vm_move 内核服务。
返回值
| 项 | 描述 |
|---|---|
| 重大安全事件数量 | 指示操作成功。 |
| EFAULT | 指示错误地址。 |
| ENOMEM | 指示内存不足。 |
| ENOSPC | 指示磁盘空间不足。 |
| EIO | 指示 I/O 错误。 |
其他特定于文件系统的 错误号 全局变量由移动功能中涉及的虚拟文件系统返回。