结构体 ara::diag::DoIPGroupIdentification::GidStatus
struct GidStatus {...};
Response data of positive response message.
| Header-Datei | #include "ara/diag/doip_group_identification.h" |
|---|---|
| Forwarding-Header | #include "ara/diag/diag_fwd.h" |
| Scope | class ara::diag::DoIPGroupIdentification |
用户指南人工智能生成
接收 DoIP 组标识的肯定响应数据,以便由 Diagnostic Management 进行转发。
接收 DoIP 组标识的肯定响应数据,以便由 Diagnostic Management 进行转发。
结构 ara::diag::DoIPGroupIdentification::GidStatus 用作查询 DoIP 组标识 [SWS_DM_00721] 时肯定响应数据的数据容器。当在未配置 DoIpInstantiation.gid 的情况下,Diagnostic Management 通过接口 GetGidStatus 请求组标识时 [SWS_DM_00813],该结构由 Adaptive Application 提供。该结构将确定的 GID 值直接传输到 Diagnostic Manager,以便在 DoIP 协议中转发。它严格限定于成功响应,不包含针对错误场景的机制。
上下文
数据结构 ara::diag::DoIPGroupIdentification::GidStatus 表示 AUTOSAR Adaptive Platform [SWS_DM_00721]、AUTOSAR_AP_SWS_Diagnostics §8.34.2 “Struct: GidStatus” 的 DoIP 子系统(Diagnostic over IP)中组标识的肯定响应数据。当外部诊断客户端通过 DoIP 请求车辆或组标识信息时,它用作组标识数据(GID)的标准化结果容器。在此系统协作中,有三个主要伙伴相互交互:外部 DoIP 客户端、AUTOSAR Diagnostic Management (DM) 以及提供接口 ara::diag::DoIPGroupIdentification 的应用特定 Adaptive Application。如果 GID 未通过配置参数 DoIpInstantiation.gid 静态定义,则 DM 根据规范有义务通过应用程序接口获取 GID [SWS_DM_00813]、AUTOSAR_AP_SWS_Diagnostics §8.34.1 “Providing the GID in DoIP protocol messages using application interface”。
生命周期
作为 C++ 数据结构(struct),GidStatus 没有独立的进程或服务生命周期,而是充当纯粹的数据传输对象 [SWS_DM_00721]。一旦查询方法 GetGidStatus 被调用 [SWS_DM_00724]、AUTOSAR_AP_SWS_Diagnostics §8.34.1.1.3.1 “GetGidStatus”,GidStatus 的实例就会由负责的 Adaptive Application 实例化并填充当前的标识数据。解释:该结构通常应该作为临时值对象在栈上创建,并作为返回值的一部分通过复制或移动语义传递给 DM,因此其生命周期在 DM 处理完 DoIP 报文后结束。 问题 Q-4974fdbc2c6accbb (未决)由于可能发生多个诊断请求或并行 DoIP 消息处理,因此该结构内保存的数据必须以线程安全的方式提供,或者针对每个查询上下文单独隔离创建。
使用路径
GidStatus 的典型用法可细分为 DoIP 客户端、Diagnostic Management 与 Adaptive Application 之间的固定交互序列:
时序图:在未配置 GID 时通过 GetGidStatus 提供 GidStatus 的流程。来源:[SWS_DM_00721]、[SWS_DM_00724]、[SWS_DM_00813]。
- 外部 DoIP 客户端通过 DoIP 网络向车辆发送诊断或标识请求。
- Diagnostic Management 检查配置:如果未配置
DoIpInstantiation.gid,DM 通过GetGidStatus向 Adaptive Application 请求组标识 [SWS_DM_00813]、[SWS_DM_00724]。 - Adaptive Application 确定组标识特征,创建包含肯定响应数据的
GidStatus实例,并将其返回给 DM [SWS_DM_00721]。 - DM 从
GidStatus中提取数据,并将完整的 DoIP 协议消息发送给外部 DoIP 客户端 [SWS_DM_00813]。
错误场景
规范明确将 GidStatus 定义为肯定响应数据(“Response data of positive response message”)[SWS_DM_00721]、AUTOSAR_AP_SWS_Diagnostics §8.34.2 “Struct: GidStatus”。解释:如果 Adaptive Application 无法提供组标识,或者存在内部错误,则不应返回常规的 GidStatus 实例;相反,方法 GetGidStatus 应该通过平台的标准化错误机制(例如 ara::core::Result 中的错误代码)向 DM 发出错误信号。 问题 Q-01181eb14d27eeb2 (未决)此外,相关 DoIP 接口(例如 ara::diag::DoIPPowerMode [SWS_DM_00814])的上下文表明,DM 在接口尚未提供时会使用定义的默认值或替代值 [SWS_DM_01525];对于组标识,缺少有效响应数据需要在 DoIP 协议中进行相应的否定处理,因为没有 GID 就无法传输有效的肯定响应 [SWS_DM_00813]。
本指南基于 AUTOSAR Adaptive Platform 规范 Release R25-11。
gemini-3.8-flash-low· 2026-10-13 · 德文原文