Descriptors for function interfaces

原创 2007年10月09日 11:55:00

下面的内容摘自Symbian S60 3rd Edition SDK,先把英文原版贴在这里,等时间充足的时候我再把它翻译出来。How to Use Descriptors之Descriptors for function interfaces《函数接口中描述符的使用》

Descriptors for function interfaces

Many interfaces which use or manipulate text strings or general binary data use descriptors to specify the interface. In conventional ‘C’ programming, interfaces are specified using a combination of char*, void* and length values. In Symbian OS, descriptors are always used.

There are four main cases:

  • Passing a constant string

    In ‘C’: StringRead(const char* aString);

    The length of the string is implied by the zero terminator; therefore, the function does not require the length to be explicitly specified.

    In Symbian OS: StringRead(const TDesC& aString);

    The descriptor can access the string and contains its length.

  • Passing a string which can be changed.

    In ‘C’: StringWrite(char* aString, int aMaxLength);

    The length of the passed string is implied by the zero terminator. aMaxLength indicates the maximum length to which the string may be extended.

    In Symbian OS: StringWrite(TDes& aString);

    The descriptor can access the string and contains its length and the maximum length to which the string may be extended.

  • Passing a buffer containing general binary data

    In ‘C’: BufferRead(const void* aBuffer, int aLength);

    Both the address and length of the buffer must be specified.

    In Symbian OS: BufferRead(const TDes8& aBuffer);

    The descriptor has access to the address of the buffer and contains the length of the data. The 8 bit variant is explicitly specified; the buffer is treated as byte data, regardless of the build variant.

  • Passing a buffer containing general binary data which can be changed.

    In ‘C’:BufferWrite(void* aBuffer, int& aLength, int aMaxLength);

    The address of the buffer, the current length of the data and the maximum length of the buffer are specified. The aLength parameter is specified as a reference to allow the function to indicate the length of the data on return.

    In Symbian OS: BufferRead(TDes8& aBuffer);

    The descriptor has access to the adddress of the buffer and contains the length of the data and the maximum length. The 8 bit variant is explicitly specified; the buffer is treated as byte data, regardless of the build variant.

Defining interfaces using the base descriptor classes allows callers to pass all appropriate derived descriptor types.

 

ubuntu中界面网络配置networkmanager与interfaces网络配置

【Server版本】 在UbuntuServer版本中,因为只存有命令行模式,所以要想进行网络参数设置,只能通过修改/etc/network/interfaces。具体设置方法如下: (1) Ub...
  • jiangheng0535
  • jiangheng0535
  • 2013年08月25日 00:38
  • 5121

关于Busybox对interfaces文件的解析过程

网络的启动是通过执行脚本: /etc/init.d/networking start 脚本中调用了命令 ifup -a;ls -l /sbin/ifup lrwxrwxrwx 1 adm...
  • zjomin
  • zjomin
  • 2016年01月14日 08:53
  • 1437

linux interfaces配置文件详解

linux interfaces配置文件详解配置文件基本格式一个基本的配置大概是下面这个样子:  1 auto lo   2 iface lo inet loopback   3   4 # The ...
  • mountzf
  • mountzf
  • 2016年07月26日 14:36
  • 10479

Windows下用Nginx+Tomcat配置集群负载均衡

Nginx是一款轻量级的web服务器/反向代理服务器,更详细的释义自己百度了。目前国内像新浪、网易等都在使用它。...
  • a443453087
  • a443453087
  • 2015年01月27日 15:01
  • 9437

android常见异常总结

本文重在Java中异常机制的一些概念。写本文的目的在于方便我很长时间后若是忘了这些东西可以通过这篇文章迅速回忆起来。 1. 异常机制 1.1 异常机制是指当程序出现错误后,程序如何处理。具体来说,...
  • lucky_liuxiang
  • lucky_liuxiang
  • 2014年06月16日 16:29
  • 646

简易三维重建(二) SIFT提取特征向量

一,SIFT 函数接口     OpenCV中的SIFT函数主要有两个接口。 构造函数: [cpp] view plain copy SIFT::SIFT(int nfeature...
  • wangchenhao006
  • wangchenhao006
  • 2017年12月10日 19:49
  • 50

读书笔记-Designing Interfaces中文版

“模式是某个对象的结构和行为上的特点”,这是一本关于界面设计模式的书。为什么界面设计中模式很重要?因为 对设计师而言: 模式捕捉了常用的结构,是关于best practice的总结和沉淀模式可以快速...
  • ysydao
  • ysydao
  • 2013年08月15日 09:13
  • 855

elasticsearch5.x安装中一些问题的解决办法

elasticsearch5.x安装中一些问题的解决办法
  • weini1111
  • weini1111
  • 2017年03月05日 15:50
  • 8440

Ubuntu VM虚拟机 Bridge方式 配置静态IP

其实网上关于这个的教程已经大把了,顺手备份几个: 虚拟网络 桥接、NAT、host-only 介绍,以及桥接方式中主机的bridge protocol设置:http://blog.csdn.net/y...
  • LL_zhuo
  • LL_zhuo
  • 2015年04月10日 11:21
  • 1663

GStreamer集成GUI工具编译通过,有排错过程

#include     #include #include #include     #include #if defined (GDK_WINDOWING_X11) #include ...
  • hktkfly6
  • hktkfly6
  • 2016年11月14日 09:27
  • 289
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Descriptors for function interfaces
举报原因:
原因补充:

(最多只允许输入30个字)