CIOCTL仅与外部对象相关。
CIOCTL可用于将任何数据传输到外部对象,例如, 配置数据以更改文件名。
CIOCTL可以请求外部对象的任何数据。
除了使用CREAD / CWRITE传送的数据之外,CIOCTL还用于传输数据,例如, 在CREAD或CWRITE语句失败后请求详细的错误消息。不能使用CIOCTL语句代替CREAD / CWRITE,虽然它可以传输相同的数据,但不能格式化它们。
IOCTL也可以由命令解释器调用。
使用KRL命令IOCTL在系统运行时停用模块。
CIOCTL ( Handle, Request, Argument, String, Retval )
Handle |
类型:INT COPEN向CIOCTL传输的标识通道的句柄变量 |
Request |
类型:INT 按值传输到外部模块的请求编号。只允许大于0的请求数。 请求号可以具有多种不同的功能;例如,一个请求号码可以启动一个特定的程序。请求号的含义是特定于模块的。 |
Argument |
类型:INT 数据传输到外部模块。 |
String |
类型:CHAR数组 阵列传输到外部模块。最多128个数组元素。 |
Retval |
类型:INT 返回通过引用传输到外部模块的值。外部模块可以修改该值。 |
返回值
0 | CIOCTL已成功执行。 |
1 |
CIOCTL未成功执行。 原因:通道关闭。 |
2 |
CIOCTL未成功执行。 原因:CIOCTL是由与COPEN不同的口译员调用的。 示例:COPEN由S_INT调用;CIOCTL由R_INT调用。 如果命令解释器调用CIOCTL,则无论哪个解释器调用COPEN,都会始终执行该语句。 |
3 |
CIOCTL未成功执行。 原因:无效的请求编号 |
>0 | 外部模块返回的错误编号。 |
全部0条评论
快来发表一下你的评论吧 !