未验证 提交 5aff8020 编写于 作者: W wanghaoxu 提交者: Gitee

update ipc new js api and errorcode

Signed-off-by: Nwanghaoxu <wanghaoxu1@huawei.com>
上级 cbd481f0
......@@ -13,27 +13,6 @@
import rpc from '@ohos.rpc';
```
## ErrorCode<sup>9+</sup>
从API version 9起,IPC支持异常返回功能。错误码对应数值及含义见下表。
| 错误码 | 数值 | 描述 |
| ----- | ---- | ----- |
| CHECK_PARAM_ERROR | 401 | 参数校验错误 |
| OS_MMAP_ERROR | 1900001 | 调用系统调用mmap失败 |
| OS_IOCTL_ERROR | 1900002 | 调用系统调用ioctl失败 |
| WRITE_TO_ASHMEM_ERROR | 1900003 | 共享内存写入数据失败 |
| READ_FROM_ASHMEM_ERROR | 1900004 | 读取共享内存数据失败 |
| ONLY_PROXY_OBJECT_PERMITTED_ERROR | 1900005 | IPCproxy对象许可错误 |
| ONLY_REMOTE_OBJECT_PERMITTED_ERROR | 1900006 | IPC远程对象许可错误 |
| COMMUNICATION_ERROR | 1900007 | IPC通信失败 |
| PROXY_OR_REMOTE_OBJECT_INVALID_ERROR | 1900008 | 封装的IPC对象为空 |
| WRITE_DATA_TO_MESSAGE_SEQUENCE_ERROR | 1900009 | 写入MessageSequence失败 |
| READ_DATA_FROM_MESSAGE_SEQUENCE_ERROR | 1900010 | 读取MessageSequence数据失败 |
| PARCEL_MEMORY_ALLOC_ERROR | 1900011 | 序列化内存分配失败 |
| CALL_JS_METHOD_ERROR | 1900012 | 调用JS方法失败 |
| OS_DUP_ERROR | 1900013 | 调用系统调用dup失败 |
## MessageSequence<sup>9+</sup>
......
# RPC错误码
从API version 9起,IPC支持异常返回功能。错误码对应数值及含义见下表。
## 401 参数校验失败
### 错误信息
Verify param failed.
### 错误描述
当参数个数或参数类型不匹配时,系统会产生此错误码。
### 可能原因
参数个数错误或参数类型不匹配。
### 处理步骤
检查参数个数、参数类型。
## 1900001 系统调用mmap失败
### 错误信息
Call mmap function failed.
### 错误描述
执行系统调用mmap失败。
### 可能原因
1.映射区域过大。
2.系统内存压力大,没有足够内存可以用来进行映射。
### 处理步骤
step1:请检查调用Ashmem::create()时是否指定了超大内存;
step2:请检查执行映射时系统是否有足够的内存可用;
## 1900002 系统调用ioctl失败
### 错误信息
Call os ioctl function failed.
### 错误描述
在共享内存文件描述符上执行系统调用ioctl失败。
### 可能原因
1.设置的参数为内核非法参数;
2.设置的类型超过了共享内存映射时指定的类型;
### 处理步骤
step1:请检查调用指定的参数是否来自Ashmem类的PROT_EXEC、PROT_READ和PROT_WRITE;
step2:请检查指定的参数是否为映射共享内存时所指类型的子集;
## 1900003 共享内存写数据失败
### 错误信息
Write to ashmem failed.
### 错误描述
向共享内存写数据失败。
### 可能原因
1.单次写或者连续写的总内容超过了映射的共享内存大小;
2.没有对共享内存设置PROT_WRITE模式;
### 处理步骤
step1:请检查当前向共享内存所写内容是否已经超过了映射的总大小;
step2:请检查是否设置了PROT_WRITE保护权限;
## 1900004 共享内存读数据失败
### 错误信息
Read from ashmem failed.
### 错误描述
从共享内存读数据失败。
### 可能原因
1.单次写或者连续写的总内容超过了映射的共享内存大小;
2.没有对共享内存设置PROT_READ模式;
### 处理步骤
step1:请检查当前向共享内存所写内容是否已经超过了映射的总大小;
step2:请检查是否设置了PROT_READ保护权限;
## 1900005 ipc对象权限错误
### 错误信息
Only proxy object permitted.
### 错误描述
只有proxy对象允许该操作。
### 可能原因
1.在RemoteObject对象上调用了只有RemoteProxy对象支持的方法;
### 处理步骤
step1:请检查是否在RemoteObject对象上调用了只有RemoteProxy对象支持的方法;
## 1900006 ipc对象权限错误
### 错误信息
Only remote object permitted.
### 错误描述
只有remote对象允许该操作。
### 可能原因
1.在RemoteProxy对象上调用了只有RemoteObject对象支持的方法;
### 处理步骤
step1:请检查是否在RemoteProxy对象上调用了只有RemoteObject对象支持的方法;
## 1900007 远端对象通信失败
### 错误信息
Communication failed.
### 错误描述
和远端对象进行进程间通信失败。
### 可能原因
1.远端对象已经销毁;
2.远端对象发生了销毁然后重新创建,本端持有的代理对象已经过期;
### 处理步骤
step1:请检查远端对象是否已经销毁;
step2:请检查是否注册了死亡监听,并且远端对象发生析构又重新创建;
## 1900008 非法的ipc对象
### 错误信息
Proxy or remote object is invalid.
### 错误描述
非法的代理对象或者远端对象。
### 可能原因
1.代理对象已经失效;
2.远端对象已经销毁;
### 处理步骤
step1:请检查proxy对象获取过程是否有异常;
step2:请检查远端对象是否已经析构;
## 1900009 向MessageSequence写入数据失败
### 错误信息
Write data to message sequence failed.
### 错误描述
向MessageSequence写数据失败。
### 可能原因
1.sequence默认空间已满;
### 处理步骤
step1:请使用MessageSequence提供的获取缓冲区空间相关方法确认是否还有剩余空间。
## 1900010 读取MessageSequence数据失败
### 错误信息
Read data from message sequence failed.
### 错误描述
读取MessageSequence数据失败。
### 可能原因
1.读取和写入顺序不一致;
### 处理步骤
step1:请检查读取的顺序和写入的顺序保持严格一致;
## 1900011 内存分配失败
### 错误信息
Sequence memory alloc failed.
### 错误描述
序列化过程中内存分配失败。
### 可能原因
1.写入的数据过大。
### 处理步骤
step1:请检查写入的数据或者设置的参数是否过大。
## 1900012 JS方法失败
### 错误信息
Call JS callback function failed.
### 错误描述
执行JS回调方法失败。
### 可能原因
1.业务的JS方法返回失败。
### 处理步骤
step1:请检查业务JS方法是否执行成功。
## 1900013 系统调用dup失败
### 错误信息
Call os dup function failed.
### 错误描述
执行系统调用dup失败。
### 可能原因
1.进程的文件句柄资源已经耗尽;
2.入参fd已经被关闭;
### 处理步骤
step1:请检查入参fd是否依然有效;
step2:请排查进程是否已经耗尽了fd资源;
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册