DEENESPTFRRUARHIKOZHNL

类 <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>

[SWS_DM_02146] Upstream: RS_Diag_04169

class <ExtendedDataRecordElementInterface> {...};

DiagnosticExtendedDataRecordInterface class

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Forwarding-Header#include "<ExtendedDataRecordElementShortname>/_fwd.h"
Scopenamespace <ExtendedDataRecord-Namespace>

用户指南人工智能生成

用于在应用程序侧为自适应 Diagnostic Management 提供扩展诊断数据。
AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 0446a63ad449 来源 未决问题(2)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

用于在应用程序侧为自适应 Diagnostic Management 提供扩展诊断数据。

类 <ExtendedDataRecordElementInterface> 用作自适应应用程序向 Diagnostic Management([SWS_DM_02152])提供扩展诊断数据的接口。在实例化并通过 Offer() 激活后,处理器通过纯虚方法 Read()([SWS_DM_02156])实现数据的异步提供。由于 Diagnostic Manager 将数据记录持久保存在非易失性存储器中,因此不可用的值必须强制使用填充模式进行填充。该接口既不可复制也不可移动,且其析构函数不是线程安全的。

上下文

接口 <ExtendedDataRecordElementInterface> 在 AUTOSAR Adaptive Platform 的诊断子系统中用于向 Diagnostic Management (DM) 提供应用程序特定的扩展诊断数据(Extended Data Records)(AUTOSAR AP SWS Diagnostics §7.2 “DiagnosticExtendedDataRecordInterface”)。Extended Data Record 包含与故障事件关联的诊断相关附加数据,例如计数值或环境信息。该类充当应用程序端处理器组件的抽象基接口。交互伙伴包括请求和协调读取操作的 Diagnostic Manager (DM)、应用程序内部的具体处理器实现,以及 DM 用于持久存储所获取数据的非易失性存储器(Non-Volatile Memory,NVM)([SWS_DM_02156])。理解:Read() 的调用推测是由 DM 中的内部诊断处理引起的,例如在发生故障事件或诊断故障代码的状态更改时。 问题 Q-f80be8c2bd5697fc (未决)

Context Handler ExtendedDataRecordElementInterface (Anwendungs-Handler) DM Diagnostic Management (DM) Handler->DM Offer() / StopOffer() DM->Handler Read(metaInfo, cancellationHandler) NVM 非易失性存储器 (NVM) DM->NVM Persistierung

上下文图:应用程序处理器、Diagnostic Management 与非易失性存储器的交互。来源:[SWS_DM_02152]、[SWS_DM_02156]、AUTOSAR AP SWS Diagnostics §7.2 “DiagnosticExtendedDataRecordInterface”

生命周期

通过指定 ara::core::InstanceSpecifier 以及并发模式 ara::diag::ConcurrencyType 的参数化构造函数进行创建([SWS_DM_02158]、AUTOSAR AP SWS Diagnostics §7.2 “DiagnosticExtendedDataRecordInterface”)。构造是线程安全且异常安全(exception safe)的。通过参数 concurrencyType 指定是否允许并发(kConcurrent)或顺序(kNotConcurrent)处理对接口的调用([SWS_DM_02158])。完全禁止复制和移动操作:复制构造函数([SWS_DM_02147])、复制赋值运算符([SWS_DM_02148])、移动构造函数([SWS_DM_02149])和移动赋值运算符([SWS_DM_02150])均被删除(=delete)。因此,实例具有固定的标识,既不能被复制也不能被转移。

实例化后,该对象最初处于非活动状态。只有通过调用 Offer() ([SWS_DM_02152]),该服务才会被激活,DM 才会将请求转发给处理程序。通过 StopOffer() ([SWS_DM_02153]) 可以随时停止该转发。销毁通过虚析构函数 ~<ExtendedDataRecordElementInterface>() ([SWS_DM_02151]) 进行。该函数虽具备异常安全性,但明确不具备线程安全性(not thread-safe)([SWS_DM_02151])。解释:在销毁处理程序对象之前,可能必须调用 StopOffer(),以确保在释放该对象时不会再收到其他请求。 问题 Q-c77dda63f0e8798a (未决)

使用路径

常规流程包括提供服务、异步应答读取请求以及停用服务:

  • 初始化:应用程序使用匹配的端口标识符和并发配置实例化派生类 ([SWS_DM_02158])。
  • 提供服务:通过调用 Offer() 启用 DM 中的请求转发 ([SWS_DM_02152])。该方法返回一个 ara::core::Result<void>。
  • 数据检索:当读取请求到达时,DM 调用纯虚方法 Read() ([SWS_DM_02156])。在此过程中会传递请求元数据 (metaInfo) 和一个 cancellationHandler。
  • 取消处理与返回:处理程序可以通过 cancellationHandler.IsCanceled() 检查会话是否已取消,或者通过 cancellationHandler.SetNotifier() 注册通知 ([SWS_DM_02156])。结果通过带有 ReadOutput 对象的 ara::core::Future 异步提供 ([SWS_DM_02156]、[SWS_DM_02154])。
  • 持久化:DM 接收检索到的数据并将其永久保存到非易失性存储器中 ([SWS_DM_02156])。
  • 注销服务:在关闭之前,应用程序调用 StopOffer() ([SWS_DM_02153]),以便在销毁实例之前终止 DM 的转发 ([SWS_DM_02151])。
提供和读取扩展数据记录的流程应用HandlerDMNVMUse Case: 初始化与服务注册Konstruktion(instanceSpec, concurrencyType)Offer()Registrierung aktivierenResult<void>Use Case: DiagnoseabfrageRead(metaInfo, cancellationHandler)确定数据 / 0xFF 填充模式Future<ReadOutput>记录数据的持久化Use Case: DienstabmeldungStopOffer()Weiterleitung deaktivieren

时序图:数据提供和查询的典型流程。来源:[SWS_DM_02152]、[SWS_DM_02153]、[SWS_DM_02156]、[SWS_DM_02158]

错误场景

使用该接口时,必须注意若干错误条件和前提条件:

  • 构造错误与模型违规:调用构造函数时可能会出现建模错误 ([SWS_DM_02158])。其中包括 InstanceSpecifierMappingIntegrityViolation(无法解析标识符或未引用 PortPrototype)、PortInterfaceMappingViolation(缺少 DiagnosticDataPortMapping 的引用)、ProcessMappingViolation(在模型中未找到匹配的进程)以及 InstanceSpecifierAlreadyInUseViolation(标识符已在进程中使用)([SWS_DM_02158])。
  • 重复提供:如果在服务已处于活动提供状态时调用 Offer(),则调用失败并返回错误码 DiagOfferErrc::kAlreadyOffered ([SWS_DM_02152])。
  • 读取请求时数据不可用:由于 DM 将数据存放在非易失性存储器中,因此在调用 Read() 时必须返回一个值 ([SWS_DM_02156])。如果查询时数据不可用,处理程序实现必须使用定义好的填充模式(如 0xFF)进行填充 ([SWS_DM_02156])。
  • 应用与诊断错误:如果数据提供完全失败,返回的 ara::core::Future 可以包含相应的诊断 NRC 错误码 (DiagUdsNrcErrc) 或应用特定错误 (ApApplicationError) ([SWS_DM_02156])。
  • 析构时的危险:由于析构函数不是线程安全的 ([SWS_DM_02151]),因此在并发调用期间或未事先执行 StopOffer() ([SWS_DM_02153]) 的情况下销毁对象会导致未定义行为。

本指南由 AI 基于 AUTOSAR R25-11 规范生成。

成员图

类图

Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.

G n_ExtendedDataRecord_Namespace____ExtendedDataRecordElementInterface_765 <ExtendedDataRecordElementInterface> + <ExtendedDataRecordElementOutArg> + Offer() + Read() + StopOffer() + operator=() + <ExtendedDataRecordElementInterface>() + ~<ExtendedDataRecordElementInterface>()

详细视图

请在大纲中选择一个条目。

方法

Copy constructor deletion

重载 <ExtendedDataRecordElementInterface> 3
<ExtendedDataRecordElementInterface2> (const <ExtendedDataRecordElementInterface2> &other)=delete; SWS_DM_02147
<ExtendedDataRecordElementInterface4> ( <ExtendedDataRecordElementInterface4> &&other)=delete; SWS_DM_02149
<ExtendedDataRecordElementInterface1> (ara::core::Instance Specifier instanceSpec, ara::diag::ConcurrencyType concurrencyType) noexcept; SWS_DM_02158
Offer 函数

This Offer will enable the DM to forward request messages to this handler

ara::core::Result< void > Offer () noexcept;
Read 函数

Provision of a Read ExtendedDataRecordElement. The data fetched by this method is stored in non-volatile memory by the DM and therefore always a value needs to be returned. Not available data at the time of the method call shall be filled with a filling pattern, e.g 0xFF by the implementation of this method (DiagnosticExtendedDataRecordInterface in the role provide).

virtual ara::core::Future< <ExtendedDataRecordElement>ReadOutput > Read (const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0;
StopOffer 函数

This StopOffer will disable the forwarding of request messages from DM

void StopOffer () noexcept;

Destruction of a DataElement

virtual ~<ExtendedDataRecordElementInterface6> () noexcept;

运算符

operator= 函数 2

Copy assignment constructor deletion

重载 = 2
<ExtendedDataRecordElementInterface3> & operator= (const <ExtendedDataRecordElementInterface3> &other)=delete; SWS_DM_02148
<ExtendedDataRecordElementInterface5> & operator= ( <ExtendedDataRecordElementInterface5> &&other)=delete; SWS_DM_02150

常量

Member declaration representing an out argument in an Output.

<ExtendedDataRecordElementOutArgType> <ExtendedDataRecordElementOutArg>;

嵌套类型

方法文档

函数 <ExtendedDataRecordElementInterface> [SWS_DM_02147] Upstream: RS_AP_00147

<ExtendedDataRecordElementInterface2> (const <ExtendedDataRecordElementInterface2> &other)=delete;

Copy constructor deletion

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_02147
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02147@rel:R25-11#44904d0d
Content hash
44904d0d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02147
Status: valid/unmigrated Version: rel:R25-11#b778fd1a Versionshistorie & Revisions (1 transition)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_02147@rel:R25-11#b778fd1a
Point-in-Time History:
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

函数 <ExtendedDataRecordElementInterface> [SWS_DM_02149] Upstream: RS_AP_00147

<ExtendedDataRecordElementInterface4> ( <ExtendedDataRecordElementInterface4> &&other)=delete;

Move constructor

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_02149
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02149@rel:R25-11#eef65f64
Content hash
eef65f64
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02149
Status: valid/unmigrated Version: rel:R25-11#922c09b0 Versionshistorie & Revisions (1 transition)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_02149@rel:R25-11#922c09b0
Point-in-Time History:
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

函数 <ExtendedDataRecordElementInterface> [SWS_DM_02158] Upstream: RS_AP_00137

<ExtendedDataRecordElementInterface1> (ara::core::Instance Specifier instanceSpec, ara::diag::ConcurrencyType concurrencyType) noexcept;

Construct a DataElement from an ara::core::InstanceSpecifier

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 5f6f8ec51798 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

用法与调用上下文

函数 <ExtendedDataRecordElementInterface> 用作构造函数,用于根据 ara::core::InstanceSpecifier 为扩展数据集接口创建 DataElement [SWS_DM_02158]。其声明位于作用域 <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface> 中,并需要引入头文件 #include "<ExtendedDataRecordElementShortname>.h" AUTOSAR_AP_SWS_Diagnostics §8.49.2.2.1.6。

同步调用需要两个输入参数 [SWS_DM_02158]:

  • instanceSpec (ara::core::InstanceSpecifier):AUTOSAR 模型中具体服务实例的标识符。
  • concurrencyType (ara::diag::ConcurrencyType):确定该接口是作为线程安全(kConcurrent)还是非线程安全(kNotConcurrent)进行实例化。

并发性与错误安全性

构造函数本身声明为 noexcept,并被指定为 thread-safe 以及 exception safe [SWS_DM_02158]。解释:由于该函数被定义为 noexcept,建模和初始化错误大概不会通过 C++ 异常发出信号,而是通过 Adaptive 框架中定义的 Violation 发出信号 [SWS_DM_02158]。 问题 Q-9ce91764c3e8364e (未决)

错误处理与模型违规

在模型配置错误或标识符无效时,会出现特定的 Violation [SWS_DM_02158]:

  • InstanceSpecifierMappingIntegrityViolation:该标识符无法在进程上下文中解析,或未引用 PortPrototype。
  • PortInterfaceMappingViolation:由 DiagnosticExtendedDataRecordInterface 类型化的 PortPrototype 未被 DiagnosticDataPortMapping 引用。
  • ProcessMappingViolation:存在匹配的 InstanceRef,但未针对运行时进程找到匹配的建模进程。
  • InstanceSpecifierAlreadyInUseViolation:构造函数在调用时使用的 InstanceSpecifier 已在该进程中使用。

本使用说明基于 AUTOSAR Adaptive R25-11 规范自动生成。

实现者指南即将推出(复杂度 I1)

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe
Verletzungen (Violations)InstanceSpeci- InstanceSpecifier either cannot be resolved in the model in the fierMappingIn- context of your executable, or it refers to a model element other tegrityViolation than a PortPrototype. PortInterfaceMap- A PortPrototype that is typed by a pingViolation DiagnosticExtendedDataRecordInterface needs to be referenced by a DiagnosticDataPortMapping. ProcessMappingVio- Matching InstanceRef exists, but no matching (modelled) Process lation found that matches the (runtime) process. InstanceSpecifier- Violation message that is sent in case a constructor in the ara AlreadyInUseViola- framework was called with an InstanceSpecifier already in use in tion this process.

Parameter (in)

ParameterBeschreibung
instanceSpecThe specifier of a specific instance of a service.
concurrencyTypeSpecifies if the interface is implemented as thread safe ( kConcurrent) or non-thread safe (kNotConcurrent).

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_02158
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02158@rel:R25-11#b034863c
Content hash
b034863c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02158
Status: valid/unmigrated Version: rel:R25-11#dc93a230 Versionshistorie & Revisions (1 transition)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_02158@rel:R25-11#dc93a230
Point-in-Time History:
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

函数 Offer [SWS_DM_02152] Upstream: RS_AP_00119, RS_AP_00139, RS_Diag_04169, RS_Diag_04224

ara::core::Result< void > Offer () noexcept;

This Offer will enable the DM to forward request messages to this handler

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: e44e4ef775f3 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

函数 Offer 激活 Diagnostic Management 守护程序 (DM) 向 Handler 的相应实例转发诊断请求 [SWS_DM_02152]。它以无参数方式调用并同步返回一个 ara::core::Result<void>,声明为 noexcept 并被指定为异常安全 [SWS_DM_02152]。

针对正确使用和错误处理,适用以下规定:

  • 返回值与错误:成功时,结果包含一个空值。如果此前已针对此 Handler 实例注册了该服务,则调用失败并返回具有回滚语义的错误代码 DiagOfferErrc::kAlreadyOffered [SWS_DM_02152]。相关错误域针对此状态同样定义了错误代码 kAlreadyOffered [SWS_DM_00514] [SWS_DM_00560]。
  • 并发性:与其他通常被指定为非线程安全的诊断处理程序(如 [SWS_DM_00557] 中)不同,该方法被显式定义为线程安全 [SWS_DM_02152]。
  • 系统中的交互:只要接口尚未由应用程序通过 Offer 提供,DM 就会根据上下文以定义的标准值或替代值进行响应,例如在 DoIP-PowerMode 查询时返回状态“Not ready” [SWS_DM_01525],或返回组标识符的替代值 [SWS_DM_01527]。此外,规范强调诊断 offer 函数专用于 ara::diag,绝不能与 ara::com::Offer 混淆 AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 “Monitors”。

解释:Offer 的同步反馈行为大概可确保在接收后续 UDS 请求之前,Handler 注册已完全结束。 问题 Q-e6b2916cf4887164 (未决)

本文由 AI 基于 AUTOSAR 规范 R25-11 生成。

实现者指南即将推出(复杂度 I2)

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Rückgabewert

TypBeschreibung
ara::core::Result< void >• If successful: an ara::core::Result containing a ara:: core::Result::value_type • If unsuccessful: an ara::core::Result containing an ara:: core::Result::error_type i.e. a corresponding ara:: diag::DiagOfferErrc

Fehler

FehlercodeBeschreibung
DiagOfferErrc::kAlreadyOfferedrollback_semantics The service is already offered.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_02152
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02152@rel:R25-11#641265c0
Content hash
641265c0
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02152
Status: valid/unmigrated Version: rel:R25-11#98647892 Versionshistorie & Revisions (1 transition)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_02152@rel:R25-11#98647892
Point-in-Time History:
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

函数 Read [SWS_DM_02156] Upstream: RS_AP_00114, RS_AP_00127, RS_AP_00128, RS_AP_00138

virtual ara::core::Future< <ExtendedDataRecordElement>ReadOutput > Read (const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0;

Provision of a Read ExtendedDataRecordElement. The data fetched by this method is stored in non-volatile memory by the DM and therefore always a value needs to be returned. Not available data at the time of the method call shall be filled with a filling pattern, e.g 0xFF by the implementation of this method (DiagnosticExtendedDataRecordInterface in the role provide).

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: fe834745387e 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

用法与语义

纯虚方法 Read 由 Diagnostic Management (DM) 调用,以便从应用程序中检索 ExtendedDataRecordElement 的数据([SWS_DM_02156])。由于 DM 会将检索到的数据持久保存在非易失性存储器中,因此该方法必须始终返回一个值。如果在调用时尚无可用数据,则实现必须使用填充模式(例如 0xFF)进行填充([SWS_DM_02156])。

执行是异步进行的,并返回一个 ara::core::Future,其在成功时封装结构体 ReadOutput([SWS_DM_02154])。该调用传递以下参数([SWS_DM_02156]):

  • metaInfo:传输底层诊断请求的元信息。
  • cancellationHandler:允许通过 cancellationHandler.IsCanceled() 查询取消状态,并通过 cancellationHandler.SetNotifier() 注册通知函数。

错误处理

在出错时,Future 会提供一个负向 UDS 响应码(DiagUdsNrcErrc)或一个应用程序特定的错误(ApApplicationError)([SWS_DM_02156]、AUTOSAR_AP_SWS_Diagnostics §7.3.2.6.1 “NRCs created by application”)。如果所需的顶层服务接口尚未或不再通过 offer() 提供,DM 将以 NRC 0x94(ResourceTemporarilyNotAvailable)进行响应([SWS_DM_01257])。此外,如果服务已被提供,DiagOfferErrc::kAlreadyOffered 会进行报告([SWS_DM_02156])。

并发性与交互

该方法被指定为异常安全(exception safe)([SWS_DM_02156])。线程安全性是有条件的且由实现定义(implementation defined)([SWS_DM_02156])。这使针对 Extended-Data-Record 的 Read 区别于常规数据元素([SWS_DM_00596])或数据标识符([SWS_DM_00640])上的读取操作,后者明确不是线程安全的。

此文本由 AI 系统基于 Release R25-11 的规范生成。

实现者指南即将推出(复杂度 I1)

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>
Exception-Sicherheitexception safe
Thread-Sicherheitconditional Thread safety is implementation defined

Parameter (in)

ParameterBeschreibung
metaInfoMetaInfo of the request.
cancellationHandlerThis parameter is used to • Query the current cancellation status by calling cancellationHandler.IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SetNotifier. The registered notifier is called if the current conversation is cancelled.

Rückgabewert

TypBeschreibung
ara::core::Future< {<extended-data-record-element-name-upper-camel> }ReadOutput >• If successful: an ara::core::Future containing an ReadOutput object as per [SWS_DM_02154] • If unsuccessful: an ara::core::Future containing a corresponding DiagUdsNrcErrc or ApApplicationError.

Fehler

FehlercodeBeschreibung
DiagOfferErrc::kAlreadyOfferedrollback_semantics The service is already offered.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_02156
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02156@rel:R25-11#58d34db4
Content hash
58d34db4
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02156
Status: valid/unmigrated Version: rel:R25-11#29b32782 Versionshistorie & Revisions (1 transition)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_02156@rel:R25-11#29b32782
Point-in-Time History:
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

函数 StopOffer [SWS_DM_02153] Upstream: RS_Diag_04169

void StopOffer () noexcept;

This StopOffer will disable the forwarding of request messages from DM

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 7a0fc3b7b561 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

用法与调用上下文

函数 StopOffer 在扩展数据记录接口(<ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>)的实例上调用,该接口通过头文件 #include "<ExtendedDataRecordElementShortname>.h" 引入 [SWS_DM_02153]。该调用以同步方式进行,不接收参数且没有返回值(void)。

该方法的目的是停用从 Diagnostic Management (DM) 向相应扩展数据记录元素转发传入的请求消息 [SWS_DM_02153]。执行后,DM 将不再向关联的 Handler 转发新的诊断请求。

错误处理与并发

该函数使用标识符 noexcept 进行声明,并被指定为异常安全(exception safe) [SWS_DM_02153]。有效载荷中未定义特定错误代码、返回值或给错误监控的通知;发生错误时不抛出异常。

关于并发性,该方法被明确归类为线程安全(thread-safe) [SWS_DM_02153]。这是一项特殊之处,因为 ara::diag 中的相关 StopOffer 接口——例如针对例程 [SWS_DM_00558]、数据元素 [SWS_DM_00617] 或监视器 [SWS_DM_01089]——被指定为非线程安全。已处于处理中的请求大概在最终停止之前仍会完成或被丢弃。 问题 Q-82e9d44f8ac1969d (未决)

Diagnostic Management 中的相互协作

命名遵循 AUTOSAR Adaptive 中的统一样式服务模式,其中功能单元通过 Offer 和 StopOffer 控制其可用性 AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 “Monitors”。该元素因而与 DM 的类似接口并列,例如通用 UDS 服务 [SWS_DM_00620]、数据标识符 [SWS_DM_00600]、安全访问 [SWS_DM_00767] 或 ECU 复位请求 [SWS_DM_01017]。

本使用说明由 AI 基于 AUTOSAR Adaptive R25-11 规范生成。

实现者指南即将推出(复杂度 I2)

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Rückgabewert

TypBeschreibung
None

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_02153
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02153@rel:R25-11#1f056a26
Content hash
1f056a26
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02153
Status: valid/unmigrated Version: rel:R25-11#0c3fd27f Versionshistorie & Revisions (1 transition)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_02153@rel:R25-11#0c3fd27f
Point-in-Time History:
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

函数 operator= [SWS_DM_02148] Upstream: RS_AP_00147

<ExtendedDataRecordElementInterface3> & operator= (const <ExtendedDataRecordElementInterface3> &other)=delete;

Copy assignment constructor deletion

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_02148
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02148@rel:R25-11#dbe8ffd9
Content hash
dbe8ffd9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02148
Status: valid/unmigrated Version: rel:R25-11#085b2936 Versionshistorie & Revisions (1 transition)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_02148@rel:R25-11#085b2936
Point-in-Time History:
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

函数 operator= [SWS_DM_02150] Upstream: RS_AP_00147

<ExtendedDataRecordElementInterface5> & operator= ( <ExtendedDataRecordElementInterface5> &&other)=delete;

Move assignment constructor

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_02150
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02150@rel:R25-11#4d9b8ced
Content hash
4d9b8ced
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02150
Status: valid/unmigrated Version: rel:R25-11#19edc7c0 Versionshistorie & Revisions (1 transition)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_02150@rel:R25-11#19edc7c0
Point-in-Time History:
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

函数 ~<ExtendedDataRecordElementInterface> [SWS_DM_02151] Upstream: RS_Diag_04169, RS_AP_00134

virtual ~<ExtendedDataRecordElementInterface6> () noexcept;

Destruction of a DataElement

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_02151
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02151@rel:R25-11#cc3b9273
Content hash
cc3b9273
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02151
Status: valid/unmigrated Version: rel:R25-11#31ab9402 Versionshistorie & Revisions (1 transition)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_02151@rel:R25-11#31ab9402
Point-in-Time History:
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

常量 / 变量文档

变量 <ExtendedDataRecordElementOutArg> [SWS_DM_02155] Upstream: RS_Diag_04224, RS_Diag_04169

<ExtendedDataRecordElementOutArgType> <ExtendedDataRecordElementOutArg>;

Member declaration representing an out argument in an Output.

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>
Symbol<ExtendedDataRecordElementOutArg>
Typ<ExtendedDataRecordElementOutArgType>

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_02155
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02155@rel:R25-11#50bc134e
Content hash
50bc134e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02155
Status: valid/unmigrated Version: rel:R25-11#db27b360 Versionshistorie & Revisions (1 transition)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_02155@rel:R25-11#db27b360
Point-in-Time History:
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill