as_seth64 内核服务
用途
为指定的虚拟内存对象映射指定的区域。
语法
#include <sys/types.h>
#include <sys/errno.h>
#include <sys/vmuser.h>
#include <sys/adspace.h>
int as_seth64 (addr64,vmhandle)
unsigned long long addr64;
vmhandle_t vmhandle;参数
| 项 | 描述 |
|---|---|
| addr64 | 将映射覆盖此输入虚拟内存地址的区域。 |
| vmhandle | 描述在地址空间的某个区域内可寻址的虚拟内存对象。 |
描述
as_seth64 内核服务会映射覆盖输入 addr64 参数的区域。 将取消映射先前在此区域中映射的任何虚拟内存对象。
然后,使用 vmhandle 参数指定的虚拟内存对象将使用句柄中指定的访问许可权进行映射。
仅当需要将虚拟内存对象映射到固定地址时,才应该使用 as_seth64 内核服务。 当在固定地址处映射虚拟内存对象并非绝对必需时,应使用 as_att64 内核服务。
as_seth64 内核服务假定采用固定大小虚拟内存对象的地址空间模型。
对于 32 位和 64 位用户地址空间,此服务都将正常运行。 它也将适用于内核进程 (克普罗克斯)。
注: 此服务仅在当前进程的地址空间上运行。 不允许它在另一个地址空间上运行。
执行环境
as_seth64 内核服务只能从进程环境中进行调用。
返回值
| 项 | 描述 |
|---|---|
| 重大安全事件数量 | 成功完成。 |
| EINVAL | 输入地址超出范围。 |