结构体 <SI-Namespace>::skeleton::<SI>Skeleton::<Method>Output
struct <Method>Output {...};
Structure wrapping the out arguments for a method
| Header-Datei | #include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h" |
|---|---|
| Forwarding-Header | #include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton/<SiShortname>_skeleton_fwd.h" |
| Scope | class <SI-Namespace>::skeleton::<SI>Skeleton |
用户指南人工智能生成
作为生成的数据结构,捆绑服务方法的所有输出实参以供在 Skeleton 中返回。
作为生成的数据结构,捆绑服务方法的所有输出实参以供在 Skeleton 中返回。
该结构在服务器端捆绑服务接口方法的所有输出实参,以便传输给调用方。在执行 Skeleton 方法时,服务实现实例化此数据结构,使用计算出的结果填充其属性,并将其返回给通信层。随后,中间件序列化包含的参数并将响应数据包传输给调用 Proxy。由于有效载荷中未包含显式的规范要求,元素类型推测直接对应于服务接口中建模的输出参数数据类型。 问题 Q-55d242e98cd76967 (未决)
上下文
C++ 结构 <SI-Namespace>::skeleton::<SI>Skeleton::<Method>Output 是 AUTOSAR Adaptive Platform(Release R25-11)模块 com 中服务部分的生成组件。在服务接口内部,该类型在提供方侧捆绑已定义服务方法的所有输出实参(Out 参数)。该结构充当服务提供方的具体服务实现与通信中间件 ara::com 之间的中介层。由于 C++ 函数签名通常仅支持单个返回值,因此该类型提供了一个结构化聚合体,以便将具有多个输出参数的方法类型安全地返回给调用运行时环境。
生命周期
一旦服务方法完成了所需的计算,就会在服务提供方的应用程序上下文中创建 <Method>Output 的实例。服务实现本地实例化数据聚合体,使用确定的值初始化其中声明的成员变量,随后将实例移交给通信层。随着移交给框架,应用程序特定方法实现的直接所有权终止;对象转入中间件的管辖范围。该实例的生命周期是短暂的,一旦通信层将包含的参数序列化到下游协议有效载荷中并释放了缓冲区,生命周期即告结束。关于并发性,每个方法调用都是隔离的:每个调用上下文操作各自独立的实例,因此只要传输的值不共享未受保护的共享资源,在类级别上就不需要同步机制。
使用路径
使用 <Method>Output 时的典型流程表现为运行时环境、Skeleton 方法实现与输出结构之间的固定交互序列。在方法请求到达后,中间件将调用转发给实现的 Skeleton 类。应用逻辑执行处理,创建结构 <Method>Output 并填充所有输出参数。随后,该实例被传输到运行时系统,运行时系统执行序列化并通过网络将响应消息发送给请求的 Proxy。
时序图:在 Skeleton 中使用 Output 结构时的调用与返回路径。来源:有效载荷中未指定依据。
错误场景
作为纯数据聚合体,<Method>Output 没有自身的错误处理例程或状态方法。错误状态主要在接口处由于未完全初始化或违反前置条件而产生。如果应用程序端实现未能在返回前正确设置单个成员变量,则可能会序列化未初始化的值或空状态。如果服务方法的业务计算在事前已失败,则在常规控制流中不会传输有效的 <Method>Output 实例;相反,实现会通过服务接口为此设置的错误通道报告发生的错误。如果输出实参内的动态数据结构发生内存分配错误,则必须在被调用的方法内部捕获这些错误,然后才移交给中间件。
本指南基于 Adaptive Platform 有效载荷的结构化说明(Release R25-11,模块 com)。由于有效载荷中未包含具体的 SWS 需求凭证,因此功能流程依据声明的接口语法进行了客观描述。
gemini-3.8-flash-low· 2026-10-13 · 德文原文