DEENESPTFRRUARHIKOZHNL

类 ara::diag::DTCInformation

[SWS_DM_00657] Upstream: RS_Diag_04150, RS_Diag_04105

class DTCInformation final {...};

Class to implement operations on DTC informations per configured DiagnosticMemory Destination.

Header-Datei#include "ara/diag/dtc_information.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopenamespace ara::diag

用户指南人工智能生成

支持针对内存目标的诊断故障码监控、状态查询和清除。
AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: a165a7d55aae 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

支持针对内存目标的诊断故障码监控、状态查询和清除。

类 ara::diag::DTCInformation 支持自适应应用程序针对配置的诊断内存目标([SWS_DM_00664])进行诊断故障码 (DTC) 的状态相关监控、查询和清除。除了异步读取 UDS DTC 状态字节和控制 DTC 状态外,该类还支持注册事件驱动的通知程序,以及通过 Clear 清除故障内存条目([SWS_DM_00671])。实例既不可复制也不可移动,其中读取操作是线程安全的,而修改方法和通知程序注册则必须进行同步。

上下文

类 ara::diag::DTCInformation 提供接口,以针对配置的诊断内存目标(DiagnosticMemoryDestination)对故障码信息(诊断故障码,DTC)执行操作([SWS_DM_00664])。在 AUTOSAR Adaptive Platform 中,它在自适应应用程序与 Diagnostic Management (DM) 之间进行中介。与诊断接口的绑定在构造时通过 ara::core::InstanceSpecifier 进行,该参数必须指向 DiagnosticDTCInformationInterface 的端口原型([SWS_DM_00664])。

该类的核心任务包括查询故障状态值,如 UDS DTC 状态字节([SWS_DM_00666])、读取当前存储的故障条目数量([SWS_DM_00669])、监控内存溢出([SWS_DM_00919]),以及在 UDS 服务 0x85 上下文中控制和查询 DTC 启用状态(ControlDTCSetting)([SWS_DM_00672]、[SWS_DM_00674])。此外,该类支持针对性地清除单个 DTC 或整个 DTC 组([SWS_DM_00671])。在功能范围方面,Diagnostic Management 存在明确定义的限制:根据 AUTOSAR_AP_SWS_Diagnostics §4.1 “Limitations of sub-functions of 0x19 ReadDTCInformation”,DM 既不支持 OBD/WWH-OBD,也不支持镜像事件内存(Mirror Event Memory)的 UDS 功能。

DTCInformationContext Applikation Applikation DTCInformation DTCInformation Applikation->DTCInformation 控制并查询 DTCInformation->Applikation benachrichtigt per Notifier DiagnosticManagement DiagnosticManagement DTCInformation->DiagnosticManagement interagiert via Port DiagnosticManagement->DTCInformation meldet Statusaenderungen

上下文图:自适应应用程序、DTCInformation 实例与 Diagnostic Management 的交互。来源:[SWS_DM_00664]、[SWS_DM_00666]、[SWS_DM_00667]

生命周期

ara::diag::DTCInformation 的实例通过其构造函数显式创建,并传递已建模的 ara::core::InstanceSpecifier([SWS_DM_00664])。构造函数被实现为线程安全([SWS_DM_00664])。该类具有严格的唯一性语义:复制构造函数([SWS_DM_01613])和移动构造函数([SWS_DM_01614])以及复制赋值运算符([SWS_DM_01611])和移动赋值运算符([SWS_DM_01612])均已删除(=delete)。因此,实例固定保留在其创建位置,既不能复制也不能移动。此外,每个进程不得多次实例化相同的 InstanceSpecifier([SWS_DM_00664])。

析构通过析构函数 ~DTCInformation() 进行([SWS_DM_00665])。析构函数不是线程安全的([SWS_DM_00665])。在并发性方面,该类对读取和修改操作进行了区分:纯查询操作如 GetCurrentStatus([SWS_DM_00666])、GetNumberOfStoredEntries([SWS_DM_00669])、GetControlDTCStatus([SWS_DM_00672])和 GetEventMemoryOverflow([SWS_DM_00919])是线程安全的。相比之下,修改操作如 Clear([SWS_DM_00671])和 EnableControlDtc([SWS_DM_00674])以及所有通知程序注册方法均不是线程安全的([SWS_DM_00667]、[SWS_DM_00668]、[SWS_DM_00670]、[SWS_DM_00673]、[SWS_DM_00918])。

使用路径

典型用例分为以下阶段:

  1. 实例化:应用程序通过指定匹配的 InstanceSpecifier 来初始化对象([SWS_DM_00664])。
  2. 回调配置:为了进行面向事件的监控,应用程序注册通知程序。可用的回调包括 DTC 状态变化(SetDTCStatusChangedNotifier 配合 DtcStatusChangedNotifier)([SWS_DM_00667]、[SWS_DM_02122])、快照记录更新(SetSnapshotRecordUpdatedNotifier 配合 SnapshotRecordUpdatedTypeNotifier)([SWS_DM_00668]、[SWS_DM_02123])、故障条目数量变化(SetNumberOfStoredEntriesNotifier 配合 NumberOfStoredEntriesNotifier)([SWS_DM_00670]、[SWS_DM_02124])、ControlDTC 状态变化(SetControlDtcStatusNotifier 配合 ControlDtcStatusTypeNotifier)([SWS_DM_00673]、[SWS_DM_02125])以及内存溢出(SetEventMemoryOverflowNotifier 配合 EventMemoryOverflowSetNotifier)([SWS_DM_00918]、[SWS_DM_02076])。后续调用会覆盖先前注册的回调;这些注册应当优先集中在初始化阶段进行。 问题 Q-d7665d8d5229a47b (未决)
  3. 状态查询:应用程序可以随时检索 DTC 信息。调用 GetCurrentStatus(dtc) 会返回一个 ara::core::Future<UdsDtcStatusByteType>([SWS_DM_00666])。此外,还可通过 Future 异步使用 GetNumberOfStoredEntries()([SWS_DM_00669])和 GetControlDTCStatus()([SWS_DM_00672]),以及通过 ara::core::Result<bool> 同步使用 GetEventMemoryOverflow()([SWS_DM_00919])。
  4. 故障内存清除与控制:应用程序通过 Clear(dtcGroup) 触发故障码的清除,这将提供一个异步的 ara::core::Future<void>([SWS_DM_00671])。若要重新启用 DTC 设置,EnableControlDtc() 将激活 ControlDTC 状态([SWS_DM_00674])。
与 DTCInformation 交互的典型流程ApplikationDTCInformation诊断管理DTCInformation(specifier)PortPrototype bindenBereitInstanz erzeugtSetDTCStatusChangedNotifier(notifier)Result<void>GetCurrentStatus(dtc)Status ermittelnUdsDtcStatusByteFuture<UdsDtcStatusByteType> readiedClear(dtcGroup)Fehlerspeicher loeschenBestaetigungFuture<void> readied

时序图:实例化、通知程序注册、状态查询和故障清除的典型流程。来源:[SWS_DM_00664]、[SWS_DM_00667]、[SWS_DM_00666]、[SWS_DM_00671]

错误场景

在处理 ara::diag::DTCInformation 时指定了以下可能的错误:

  • 构造时的配置违规:不完整或错误的时序模型绑定会导致特定的违规([SWS_DM_00664]):
    • InstanceSpecifierMappingIntegrityViolation:该标识符在 Executable 的上下文中无法解析,或未引用 PortPrototype。
    • PortInterfaceMappingViolation:PortPrototype 未类型化为 DiagnosticDTCInformationInterface。
    • ProcessMappingViolation:运行时不存在匹配的已建模进程。
    • InstanceSpecifierAlreadyInUseViolation:InstanceSpecifier 在运行中的进程内已被另一个实例使用。
  • 查询与内存清理时的运行时错误:
    • DiagErrc::kServiceNotAvailable:Diagnostic Management 的基本功能暂时不可用;出现在 GetCurrentStatus([SWS_DM_00666])、GetNumberOfStoredEntries([SWS_DM_00669])、GetControlDTCStatus([SWS_DM_00672])、GetEventMemoryOverflow([SWS_DM_00919])和 Clear([SWS_DM_00671])中。
    • DiagErrc::kNoSuchDTC:所请求的事件不存在关联的 DTC([SWS_DM_00666])。
    • DiagErrc::kWrongDtc:在 Clear 中传递了无效的 DTC 编号([SWS_DM_00671])。
    • DiagErrc::kBusy:接口仍在忙于先前的处理([SWS_DM_00671])。
    • DiagErrc::kMemoryError 或 DiagErrc::kFailed:在 Clear 期间访问物理故障内存时出错或发生一般处理错误([SWS_DM_00671])。
  • 通知程序注册时的无效参数:如果传递了不合法的函数指针或参数,方法 SetSnapshotRecordUpdatedNotifier([SWS_DM_00668])、SetNumberOfStoredEntriesNotifier([SWS_DM_00670])、SetControlDtcStatusNotifier([SWS_DM_00673])和 SetEventMemoryOverflowNotifier([SWS_DM_00918])将因 DiagErrc::kInvalidArgument 失败。

本指南基于 diag 模块的 AUTOSAR Adaptive 规范 R25-11,并总结了对 ara::diag::DTCInformation 的要求。

成员图

类图

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

G nara__diag__DTCInformation53 DTCInformation + DTCInformation() + operator=() + ~DTCInformation() + Clear() + EnableControlDtc() + GetControlDTCStatus() + GetCurrentStatus() + GetEventMemoryOverflow() + GetNumberOfStoredEntries() + SetControlDtcStatusNotifier() + SetDTCStatusChangedNotifier() + SetEventMemoryOverflowNotifier() + SetNumberOfStoredEntriesNotifier() + SetSnapshotRecordUpdatedNotifier()

详细视图

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

构造函数和析构函数

Constructor for a DTCInformation instance which allows for DTC related operation per DiagnosticMemoryDestination.

重载 DTCInformation 3
explicit DTCInformation (const ara::core::InstanceSpecifier &specifier) noexcept; SWS_DM_00664
DTCInformation (DTCInformation &)=delete; SWS_DM_01613
DTCInformation (DTCInformation &&) noexcept=delete; SWS_DM_01614

Destructor of class DTCInformation.

~DTCInformation () noexcept;

方法

Clear 函数

Method for Clearing a DTC or a group of DTCs.

ara::core::Future< void > Clear (std::uint32_t dtcGroup) noexcept;

Triggers a setting of ControlDTCStatus to enabled in case the application has some conditions or states demands to do so. The control DTC setting state might be set to enabled only after this API has returned.

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

Contains the current status of the ControlDTCStatus.

ara::core::Future< ControlDtcStatusType > GetControlDTCStatus () noexcept;

Retrieves the current UDS DTC status byte of the given DTC identifier.

ara::core::Future< UdsDtcStatusByteType > GetCurrentStatus (std::uint32_t dtc) noexcept;

Contains the current event memory overflow status.

ara::core::Result< bool > GetEventMemoryOverflow () noexcept;

Contains the number of currently stored fault memory entries.

ara::core::Future< std::uint32_t > GetNumberOfStoredEntries () noexcept;

Registers a notifier function which is called if the control DTC setting is changed. A consecutive call of this method will overwrite the previous registered notifier.

ara::core::Result< void > SetControlDtcStatusNotifier (ControlDtc StatusTypeNotifier notifier) noexcept;

Register a notifier function which is called if a UDS DTC status is changed. A consecutive call of this method will overwrite the previous registered notifier.

ara::core::Result< void > SetDTCStatusChangedNotifier (DtcStatus ChangedNotifier notifier) noexcept;

Register a notifier function which is called if the current event memory overflow status changed. A consecutive call of this method will overwrite the previous registered notifier.

ara::core::Result< void > SetEventMemoryOverflowNotifier (EventMemory OverflowSetNotifier notifier) noexcept;

Register a notifier function which is called if the number of currently stored fault memory entries changed. A consecutive call of this method will overwrite the previous registered notifier.

ara::core::Result< void > SetNumberOfStoredEntriesNotifier (NumberOf StoredEntriesNotifier notifier) noexcept;

Register a notifier function which is called if the SnapshotRecord is changed. A consecutive call of this method will overwrite the previous registered notifier.

ara::core::Result< void > SetSnapshotRecordUpdatedNotifier (Snapshot RecordUpdatedTypeNotifier notifier) noexcept;

运算符

operator= 函数 2

DTCInformation shall be a single not assignable instance.

重载 = 2

类型别名

Registers a notifier function which is called if the control DTC setting is changed.

using ControlDtcStatusTypeNotifier = std::function<void(ControlDtc StatusType)>;

Register a notifier function which is called if a UDS DTC status is changed.

using DtcStatusChangedNotifier = std::function<void(std::uint32_t dtc, UdsDtcStatusByteType udsStatusByteOld, UdsDtcStatusByteType udsStatus ByteNew)>;

Notifier function which is called if the current event memory overflow status changed.

using EventMemoryOverflowSetNotifier = std::function<void(bool)>;

Register a notifier function which is called if the number of currently stored fault memory entries changed.

using NumberOfStoredEntriesNotifier = std::function<void(std::uint32_ t)>;

Register a notifier function which is called if the SnapshotRecord is changed.

using SnapshotRecordUpdatedTypeNotifier = std::function<void(Snapshot RecordUpdatedType)>;

嵌套类型

方法文档

函数 Clear [SWS_DM_00671] Upstream: RS_AP_00119, RS_AP_00139, RS_Diag_04194

ara::core::Future< void > Clear (std::uint32_t dtcGroup) noexcept;

Method for Clearing a DTC or a group of DTCs.

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

类 ara::diag::DTCInformation([SWS_DM_00671])的方法 Clear 用于删除故障存储器中的单个 DTC 或 DTC 组(AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.6 “Service 0x14 – ClearDiagnosticInformation”)。作为参数,它通过 dtcGroup 接收要删除的组或 DTC 的标识,并异步将结果作为 ara::core::Future<void> 返回([SWS_DM_00671])。删除单个 DTC 或组的权限受制于配置参数(例如 clearDtcLimitation)([SWS_DM_00160])。

错误处理与语义

该函数被声明为 noexcept,并通过 Future 以回滚语义异步报告错误([SWS_DM_00671])。来自 DiagErrc 的可能错误码包括:

  • DiagErrc::kBusy:接口已占用正在处理中。
  • DiagErrc::kFailed:执行期间发生了常规处理错误。
  • DiagErrc::kMemoryError:处理过程中发生了存储器错误。
  • DiagErrc::kWrongDtc:传递了无效的 DTC 编号。
  • DiagErrc::kServiceNotAvailable:Diagnostic Manager 的基本功能当前不可用。

并发性与区别

该方法是异常安全的(exception safe),但明确归类为 not thread-safe([SWS_DM_00671])。因此,同一实例上的并行调用必须由调用方进行同步,否则存在 DiagErrc::kBusy 的风险。解释:类似于 UDS 服务 0x14 的确认([SWS_DM_00162]),返回的 ara::core::Future 预计只有在物理故障存储器完全清理后才会被满足。 问题 Q-b97545b6864b24aa (未决)

在功能上,该操作需与同名的 SOVD 方法区分开来:虽然 ara::diag::DiagnosticSovdContentElementDataView::Clear([SWS_DM_02233])同步且线程安全地清空数据容器,但该方法控制 Diagnostic Management 中的诊断流程。

本使用说明由 AI 整理,完全基于 AUTOSAR AP Release R25-11 的规范摘录。

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

Header-Datei#include "ara/diag/dtc_information.h"
Scopeclass ara::diag::DTCInformation
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe DiagErrc::kBusy rollback_semantics

Parameter (in)

ParameterBeschreibung
dtcGroupDTC group to be cleared.

Rückgabewert

TypBeschreibung
ara::core::Future< void >void or errors

Fehler

FehlercodeBeschreibung
Interface is busy with processing.
DiagErrc::kFailedrollback_semantics Failed to process.
DiagErrc::kMemoryErrorrollback_semantics A memory error occurred during processing.
DiagErrc::kWrongDtcrollback_semantics A wrong DTC number was requested.
DiagErrc::kServiceNotAvailablerollback_semantics The call cannot be executed, because essential DM functionality is currently not available.

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

Record
AUTOSAR/AP/record/SWS_DM_00671
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00671@rel:R25-11#4ec9f37a
Content hash
4ec9f37a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00671
Status: valid/unmigrated Version: rel:R25-11#5f2d812c Versionshistorie & Revisions (1 transition, 8 revision)
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_00671@rel:R25-11#5f2d812c
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#eeae02f92026-09-30
  • R19-11rel:R19-11#51e8d4512026-10-14
  • R20-11rel:R20-11#a949cf792026-10-14
  • R21-11rel:R21-11#a949cf792026-10-14
  • R22-11rel:R22-11#a1f423932026-10-14
  • R23-11rel:R23-11#cc3a92472026-10-14
  • R24-11rel:R24-11#ee42b6492026-10-14
  • R25-11rel:R25-11#5f2d812c2026-10-14 active
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

函数 DTCInformation [SWS_DM_00664] Upstream: RS_AP_00137, RS_Diag_04150, RS_Diag_04105, RS_AP_00170, RS_ AP_00171, RS_AP_00172, RS_AP_00173

explicit DTCInformation (const ara::core::InstanceSpecifier &specifier) noexcept;

Constructor for a DTCInformation instance which allows for DTC related operation per DiagnosticMemoryDestination.

Header-Datei#include "ara/diag/dtc_information.h"
Scopeclass ara::diag::DTCInformation
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 referenced by a pingViolation DiagnosticMemoryDestinationPortMapping needs to be typed by a DiagnosticDTCInformationInterface. 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
specifierInstanceSpecifier to a PortPrototype of a DiagnosticDTCInformationInterface.

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

Record
AUTOSAR/AP/record/SWS_DM_00664
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00664@rel:R25-11#ddb90a57
Content hash
ddb90a57
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00664
Status: valid/unmigrated Version: rel:R25-11#9209c292 Versionshistorie & Revisions (1 transition, 8 revision)
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_00664@rel:R25-11#9209c292
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#ee0cae732026-09-30
  • R19-11rel:R19-11#50771b7a2026-10-14
  • R20-11rel:R20-11#e53281312026-10-14
  • R21-11rel:R21-11#e53281312026-10-14
  • R22-11rel:R22-11#eccf83b62026-10-14
  • R23-11rel:R23-11#c51e5b242026-10-14
  • R24-11rel:R24-11#18239ea62026-10-14
  • R25-11rel:R25-11#9209c2922026-10-14 active
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

函数 DTCInformation [SWS_DM_01613] Upstream: RS_AP_00147

DTCInformation (DTCInformation &)=delete;

DTCInformation shall be a single not copy-able instance.

Header-Datei#include "ara/diag/dtc_information.h"
Scopeclass ara::diag::DTCInformation

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

Record
AUTOSAR/AP/record/SWS_DM_01613
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01613@rel:R25-11#9f395f91
Content hash
9f395f91
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01613
Status: valid/unmigrated Version: rel:R25-11#7e9f5081 Versionshistorie & Revisions (1 transition, 4 revision)
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_01613@rel:R25-11#7e9f5081
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#785983632026-09-30
  • R23-11rel:R23-11#ff1af2512026-10-14
  • R24-11rel:R24-11#7e9f50812026-10-14
  • R25-11rel:R25-11#7e9f50812026-10-14 active
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

函数 DTCInformation [SWS_DM_01614] Upstream: RS_AP_00147

DTCInformation (DTCInformation &&) noexcept=delete;

Move constructor of DTCInformation.

Header-Datei#include "ara/diag/dtc_information.h"
Scopeclass ara::diag::DTCInformation

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

Record
AUTOSAR/AP/record/SWS_DM_01614
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01614@rel:R25-11#c4875a1e
Content hash
c4875a1e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01614
Status: valid/unmigrated Version: rel:R25-11#da7c5f5f Versionshistorie & Revisions (1 transition, 4 revision)
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_01614@rel:R25-11#da7c5f5f
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#42fc1a672026-09-30
  • R23-11rel:R23-11#f9e90d0c2026-10-14
  • R24-11rel:R24-11#da7c5f5f2026-10-14
  • R25-11rel:R25-11#da7c5f5f2026-10-14 active
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

函数 EnableControlDtc [SWS_DM_00674] Upstream: RS_AP_00139, RS_Diag_04159

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

Triggers a setting of ControlDTCStatus to enabled in case the application has some conditions or states demands to do so. The control DTC setting state might be set to enabled only after this API has returned.

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

使用

方法 ara::diag::DTCInformation::EnableControlDtc([SWS_DM_00674])用于监控应用程序重新使能 Diagnostic Server 中诊断故障码(DTC)的采集和存储。该调用通过头文件 ara/diag/dtc_information.h 中类 ara::diag::DTCInformation 的实例无参数且同步地进行。该函数返回 ara::core::Result<void> 作为返回值。

交互与语义

如果先前例如通过带有子功能 0x02 (OFF) 的 UDS 服务 ControlDTCSetting (0x85) 禁用了 DTC 设置([SWS_DM_00910]),则调用 EnableControlDtc 将根据 [SWS_DM_00811] 提示 Diagnostic Server 执行以下步骤:

  • 重新使能 UDS DTC 状态字节的更新,
  • 使能主事件存储器以及受影响的用户特定事件存储器中的故障存储,
  • 从ara::diag::ControlDtcStatusType更新至kDTCSettingOn。

解读:将状态设为已激活可能仅在方法调用(AP SWS Diagnostics §8.48.2.2.3.2 “EnableControlDtc”)返回后发生,因此调用方不得假定在执行期间状态一定会立即改变。 问题 Q-8bfa0436f6ab98b9 (未决)

错误处理与并发

该接口声明为noexcept,被视为异常安全(exception safe),且未定义特定的标准化错误码([SWS_DM_00674])。在并发性方面,该函数被指定为非线程安全(not thread-safe)。因此,对同一实例的并行访问必须由调用方应用程序进行同步。

本使用说明基于规范自动生成,不能替代对 AUTOSAR 标准的详细审查。

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

Header-Datei#include "ara/diag/dtc_information.h"
Scopeclass ara::diag::DTCInformation
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Rückgabewert

TypBeschreibung
ara::core::Result< void >Returns void.

Fehler

FehlercodeBeschreibung
This function does not specify any standardized errors.

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

Record
AUTOSAR/AP/record/SWS_DM_00674
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00674@rel:R25-11#46369f2d
Content hash
46369f2d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00674
Status: valid/unmigrated Version: rel:R25-11#e45d9b89 Versionshistorie & Revisions (1 transition, 8 revision)
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_00674@rel:R25-11#e45d9b89
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#40671c292026-09-30
  • R19-11rel:R19-11#e1f8ab582026-10-14
  • R20-11rel:R20-11#9161618d2026-10-14
  • R21-11rel:R21-11#5a7fc00d2026-10-14
  • R22-11rel:R22-11#8925d3542026-10-14
  • R23-11rel:R23-11#488eca7f2026-10-14
  • R24-11rel:R24-11#784981982026-10-14
  • R25-11rel:R25-11#e45d9b892026-10-14 active
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

函数 GetControlDTCStatus [SWS_DM_00672] Upstream: RS_AP_00139, RS_Diag_04159

ara::core::Future< ControlDtcStatusType > GetControlDTCStatus () noexcept;

Contains the current status of the ControlDTCStatus.

Header-Datei#include "ara/diag/dtc_information.h"
Scopeclass ara::diag::DTCInformation
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Rückgabewert

TypBeschreibung
ara::core::Future<ControlDtcStatusType >The current status of ControlDtcStatus (related to UDS service 0x85)

Fehler

FehlercodeBeschreibung
DiagErrc::kServiceNotAvailablerollback_semantics The call cannot be executed, because essential DM functionality is currently not available.

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

Record
AUTOSAR/AP/record/SWS_DM_00672
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00672@rel:R25-11#5f292692
Content hash
5f292692
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00672
Status: valid/unmigrated Version: rel:R25-11#a2def35b Versionshistorie & Revisions (1 transition, 8 revision)
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_00672@rel:R25-11#a2def35b
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#c7ee7aea2026-09-30
  • R19-11rel:R19-11#f21334142026-10-14
  • R20-11rel:R20-11#294229e72026-10-14
  • R21-11rel:R21-11#294229e72026-10-14
  • R22-11rel:R22-11#1fc240372026-10-14
  • R23-11rel:R23-11#4d0b71d22026-10-14
  • R24-11rel:R24-11#9273d1142026-10-14
  • R25-11rel:R25-11#a2def35b2026-10-14 active
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

函数 GetCurrentStatus [SWS_DM_00666] Upstream: RS_AP_00139

ara::core::Future< UdsDtcStatusByteType > GetCurrentStatus (std::uint32_t dtc) noexcept;

Retrieves the current UDS DTC status byte of the given DTC identifier.

Header-Datei#include "ara/diag/dtc_information.h"
Scopeclass ara::diag::DTCInformation
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
dtcDTC identifier for which the status should be retrieved.

Rückgabewert

TypBeschreibung
ara::core::Future< UdsDtcStatusByteType >A Future which is readied with current UDS DTC status byte of the given DTC identifier or an internal error code.

Fehler

FehlercodeBeschreibung
DiagErrc::kNoSuchDTCrollback_semantics No mapped DTC exits for the requested event.
DiagErrc::kServiceNotAvailablerollback_semantics The call cannot be executed, because essential DM functionality is currently not available.

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

Record
AUTOSAR/AP/record/SWS_DM_00666
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00666@rel:R25-11#ba3e1904
Content hash
ba3e1904
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00666
Status: valid/unmigrated Version: rel:R25-11#4720f9ce Versionshistorie & Revisions (1 transition, 8 revision)
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_00666@rel:R25-11#4720f9ce
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#cab37c252026-09-30
  • R19-11rel:R19-11#2b133ce82026-10-14
  • R20-11rel:R20-11#5cb3c7cb2026-10-14
  • R21-11rel:R21-11#5cb3c7cb2026-10-14
  • R22-11rel:R22-11#a6d6ac922026-10-14
  • R23-11rel:R23-11#5e0834612026-10-14
  • R24-11rel:R24-11#278b05692026-10-14
  • R25-11rel:R25-11#4720f9ce2026-10-14 active
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

函数 GetEventMemoryOverflow [SWS_DM_00919] Upstream: RS_AP_00139, RS_Diag_04093

ara::core::Result< bool > GetEventMemoryOverflow () noexcept;

Contains the current event memory overflow status.

Header-Datei#include "ara/diag/dtc_information.h"
Scopeclass ara::diag::DTCInformation
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Rückgabewert

TypBeschreibung
ara::core::Result< bool >Current status of event memory overflow.

Fehler

FehlercodeBeschreibung
DiagErrc::kServiceNotAvailablerollback_semantics The call cannot be executed, because essential DM functionality is currently not available.

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

Record
AUTOSAR/AP/record/SWS_DM_00919
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00919@rel:R25-11#f208e02e
Content hash
f208e02e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00919
Status: valid/unmigrated Version: rel:R25-11#6a28b81d Versionshistorie & Revisions (1 transition, 7 revision)
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_00919@rel:R25-11#6a28b81d
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#fd3d5cef2026-09-30
  • R20-11rel:R20-11#bc4e55fb2026-10-14
  • R21-11rel:R21-11#4d41e6ba2026-10-14
  • R22-11rel:R22-11#a5aec1ca2026-10-14
  • R23-11rel:R23-11#6b21d4342026-10-14
  • R24-11rel:R24-11#ed9c77032026-10-14
  • R25-11rel:R25-11#6a28b81d2026-10-14 active
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

函数 GetNumberOfStoredEntries [SWS_DM_00669] Upstream: RS_AP_00139, RS_Diag_04109

ara::core::Future< std::uint32_t > GetNumberOfStoredEntries () noexcept;

Contains the number of currently stored fault memory entries.

Header-Datei#include "ara/diag/dtc_information.h"
Scopeclass ara::diag::DTCInformation
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Rückgabewert

TypBeschreibung
ara::core::Future<std::uint32_t >Number of currently stored fault memory entries.

Fehler

FehlercodeBeschreibung
DiagErrc::kServiceNotAvailablerollback_semantics The call cannot be executed, because essential DM functionality is currently not available.

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

Record
AUTOSAR/AP/record/SWS_DM_00669
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00669@rel:R25-11#a55fcdcd
Content hash
a55fcdcd
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00669
Status: valid/unmigrated Version: rel:R25-11#92925d4f Versionshistorie & Revisions (1 transition, 8 revision)
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_00669@rel:R25-11#92925d4f
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#979b7c2a2026-09-30
  • R19-11rel:R19-11#ff0767122026-10-14
  • R20-11rel:R20-11#fc6a2e8d2026-10-14
  • R21-11rel:R21-11#693bfdcb2026-10-14
  • R22-11rel:R22-11#4b600d7b2026-10-14
  • R23-11rel:R23-11#1f26b60f2026-10-14
  • R24-11rel:R24-11#3280c0132026-10-14
  • R25-11rel:R25-11#92925d4f2026-10-14 active
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

函数 SetControlDtcStatusNotifier [SWS_DM_00673] Upstream: RS_AP_00139, RS_Diag_04159

ara::core::Result< void > SetControlDtcStatusNotifier (ControlDtc StatusTypeNotifier notifier) noexcept;

Registers a notifier function which is called if the control DTC setting is changed. A consecutive call of this method will overwrite the previous registered notifier.

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

用法与调用上下文

方法 SetControlDtcStatusNotifier 属于类 ara::diag::DTCInformation,并通过头文件 ara/diag/dtc_information.h 包含 [SWS_DM_00673]。它用于注册类型为 ControlDtcStatusTypeNotifier 的应用端回调函数 [SWS_DM_00673]。当相关诊断存储实例的 ControlDTCStatus 发生更改时,将调用该通知器,该标识与 UDS 服务 0x85 (ControlDTCSetting) 相关联 [SWS_DM_00673]。重复调用该方法会导致覆盖先前注册的通知器 [SWS_DM_00673]。

错误处理与返回值

ara::core::Result<void> 用作返回类型 [SWS_DM_00673]。在成功情况下该函数不返回值,而在发生错误时提供错误码 [SWS_DM_00673]。代码 DiagErrc::kInvalidArgument 被指定为可能的错误 [SWS_DM_00673]。该函数声明为 noexcept 并归类为 exception safe,因此调用方无需处理 C++ 异常 [SWS_DM_00673]。

并发性与规范状态

该接口被明确标注为 not thread-safe [SWS_DM_00673]。因此,对 ara::diag::DTCInformation 同一实例的并行访问必须由调用方同步。根据文档 SWS Diagnostics §8.48.2.2.3.7 “SetControlDtcStatusNotifier”,在 Release R25-11 中该 API 定义的状态还为 DRAFT。

本使用说明系基于 AUTOSAR R25-11 规范自动创建。

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

Header-Datei#include "ara/diag/dtc_information.h"
Scopeclass ara::diag::DTCInformation
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
notifierThe function to be called if the ControlDTCStatus (related to UDS service 0x85) for this diagnostic memory instance has changed.

Rückgabewert

TypBeschreibung
ara::core::Result< void >Returns nothing or an error.

Fehler

FehlercodeBeschreibung
DiagErrc::kInvalidArgumentrollback_semantics e.g. kPreFailed with internal debouncing

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

Record
AUTOSAR/AP/record/SWS_DM_00673
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00673@rel:R25-11#0c6f3eb3
Content hash
0c6f3eb3
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00673
Status: valid/unmigrated Version: rel:R25-11#4ec630cc Versionshistorie & Revisions (1 transition, 8 revision)
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_00673@rel:R25-11#4ec630cc
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#c83057292026-09-30
  • R19-11rel:R19-11#86285d0c2026-10-14
  • R20-11rel:R20-11#c712c8f12026-10-14
  • R21-11rel:R21-11#c712c8f12026-10-14
  • R22-11rel:R22-11#f749ed1c2026-10-14
  • R23-11rel:R23-11#913bd39e2026-10-14
  • R24-11rel:R24-11#db62ff532026-10-14
  • R25-11rel:R25-11#4ec630cc2026-10-14 active
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

函数 SetDTCStatusChangedNotifier [SWS_DM_00667] Upstream: RS_AP_00139, RS_Diag_04148

ara::core::Result< void > SetDTCStatusChangedNotifier (DtcStatus ChangedNotifier notifier) noexcept;

Register a notifier function which is called if a UDS DTC status is changed. A consecutive call of this method will overwrite the previous registered notifier.

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

Adaptive Application (AA) 使用函数 ara::diag::DTCInformation::SetDTCStatusChangedNotifier 注册一个在 UDS DTC 状态每次发生更改时都会调用的回调函数([SWS_DM_00667])。一旦分配给相应故障存储的 DTC 状态发生更改,Diagnostic Management (DM) 便会针对受影响的 DTC 触发该通知器([SWS_DM_01031],SWS Diagnostics §7.3.4.4.2.2 “UDS DTC Status change notifications”)。

该接口具有以下属性和参数(SWS Diagnostics §8.48.2.2.3.8 “SetDTCStatusChangedNotifier”):

  • 参数:notifier 接收类型为 DtcStatusChangedNotifier 的待调用函数对象([SWS_DM_00667])。
  • 返回值:该函数返回 ara::core::Result<void> 并声明为 noexcept([SWS_DM_00667])。
  • 错误处理:未定义标准化错误码;该函数被指定为异常安全(exception safe)([SWS_DM_00667])。
  • 并发性:该方法不是线程安全的(not thread-safe)([SWS_DM_00667])。同一实例上的并行调用必须由调用方进行同步。

如果在 ara::diag::DTCInformation 的同一实例上重复调用 SetDTCStatusChangedNotifier,DM 将完全覆盖先前注册的通知器([SWS_DM_01350])。在整个系统中,该通知器通过针对故障存储中状态切换的基于事件的通知,对使用 GetCurrentStatus 的同步状态查询进行了补充(SWS Diagnostics §7.3.4.4.2.2 “UDS DTC Status change notifications”)。

本文本由 AI 基于 AUTOSAR 规范生成,仅供参考。

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

Header-Datei#include "ara/diag/dtc_information.h"
Scopeclass ara::diag::DTCInformation
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
notifierThe function to be called if a DTC status has changed.

Rückgabewert

TypBeschreibung
ara::core::Result< void >Returns void.

Fehler

FehlercodeBeschreibung
This function does not specify any standardized errors.

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

Record
AUTOSAR/AP/record/SWS_DM_00667
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00667@rel:R25-11#3c2e5546
Content hash
3c2e5546
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00667
Status: valid/unmigrated Version: rel:R25-11#286c80fc Versionshistorie & Revisions (1 transition, 8 revision)
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_00667@rel:R25-11#286c80fc
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#a147750e2026-09-30
  • R19-11rel:R19-11#8e0838282026-10-14
  • R20-11rel:R20-11#589d43672026-10-14
  • R21-11rel:R21-11#5dfb752f2026-10-14
  • R22-11rel:R22-11#b086a9df2026-10-14
  • R23-11rel:R23-11#7bcc21302026-10-14
  • R24-11rel:R24-11#f5acd9ba2026-10-14
  • R25-11rel:R25-11#286c80fc2026-10-14 active
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

函数 SetEventMemoryOverflowNotifier [SWS_DM_00918] Upstream: RS_AP_00139, RS_Diag_04093

ara::core::Result< void > SetEventMemoryOverflowNotifier (EventMemory OverflowSetNotifier notifier) noexcept;

Register a notifier function which is called if the current event memory overflow status changed. A consecutive call of this method will overwrite the previous registered notifier.

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

类 ara::diag::DTCInformation (AUTOSAR_AP_SWS_Diagnostics §8.48.2.2.3.9 “SetEventMemoryOverflowNotifier”) 的函数 SetEventMemoryOverflowNotifier 用于注册一个回调函数(notifier),该回调函数在所分配的事件存储器的溢出状态发生变更时被调用 [SWS_DM_00918]。

使用方法与语义:通过 ara::diag::DTCInformation 的实例在包含头文件 ara/diag/dtc_information.h 的情况下进行调用。参数 notifier 接收一个类型为 EventMemory OverflowSetNotifier 的函数对象。注册成功后,该方法返回一个空的 ara::core::Result<void> [SWS_DM_00918]。

相互作用与触发:当事件存储器中已保存最大配置数量的条目(DiagnosticMemoryDestination.maxNumberOfEventEntries),且需要存储另一个条目时,就会发生溢出(AUTOSAR_AP_SWS_Diagnostics §7.3.4.4.9 “Event memory overflow”、[SWS_DM_00923])。如果已记录溢出,Diagnostic-Management 模块将在为相应事件存储器下一次执行清除所有 DTC(clear all DTCs)的操作后,使用参数值 false 调用通知器 [SWS_DM_00926]。

并发与限制:该函数被声明为 noexcept,属于异常安全(exception safe),但不是线程安全的(not thread-safe)[SWS_DM_00918]。因此,对同一实例的并行调用必须在外部进行同步。如果多次调用 SetEventMemoryOverflowNotifier,新的调用将完全覆盖先前注册的通知器 [SWS_DM_01354]。

错误处理:如果操作失败,将在 ara::core::Result 中返回错误码 DiagErrc::kInvalidArgument [SWS_DM_00918]。

本使用提示由系统自动生成。请以相应 AUTOSAR 版本的规范为准。

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

Header-Datei#include "ara/diag/dtc_information.h"
Scopeclass ara::diag::DTCInformation
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
notifierThe function to be called if the overflow status for this diagnostic event memory instance has changed.

Rückgabewert

TypBeschreibung
ara::core::Result< void >Returns nothing or an error.

Fehler

FehlercodeBeschreibung
DiagErrc::kInvalidArgumentrollback_semantics e.g. kPreFailed with internal debouncing

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

Record
AUTOSAR/AP/record/SWS_DM_00918
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00918@rel:R25-11#48b710f7
Content hash
48b710f7
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00918
Status: valid/unmigrated Version: rel:R25-11#4caa8701 Versionshistorie & Revisions (1 transition, 7 revision)
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_00918@rel:R25-11#4caa8701
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#287c26ab2026-09-30
  • R20-11rel:R20-11#862008632026-10-14
  • R21-11rel:R21-11#862008632026-10-14
  • R22-11rel:R22-11#504188a92026-10-14
  • R23-11rel:R23-11#4299ebc42026-10-14
  • R24-11rel:R24-11#ef0d0c832026-10-14
  • R25-11rel:R25-11#4caa87012026-10-14 active
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

函数 SetNumberOfStoredEntriesNotifier [SWS_DM_00670] Upstream: RS_AP_00139, RS_Diag_04109

ara::core::Result< void > SetNumberOfStoredEntriesNotifier (NumberOf StoredEntriesNotifier notifier) noexcept;

Register a notifier function which is called if the number of currently stored fault memory entries changed. A consecutive call of this method will overwrite the previous registered notifier.

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

类 ara::diag::DTCInformation 的方法 SetNumberOfStoredEntriesNotifier(在 ara/diag/dtc_information.h 中声明)用于注册类型为 NumberOfStoredEntriesNotifier 的回调函数([SWS_DM_00670])。一旦在相关事件存储实例的故障存储中保存的条目数量发生更改,便会通知该函数(AUTOSAR_AP_SWS_Diagnostics §8.48.2.2.3.10 “SetNumberOfStoredEntriesNotifier”)。

以下规范适用于使用方式和运行时行为:

  • 覆盖注册:每个实例每次只能有一个回调函数处于激活状态。再次调用该方法将完全覆盖先前注册的通知器([SWS_DM_00670])。
  • 并发性与安全性:该方法带有 noexcept,并被指定为异常安全(exception safe)([SWS_DM_00670])。但由于其被归类为非线程安全(not thread-safe),对同一实例的并行访问必须在应用方进行同步。
  • 错误处理:该函数返回一个 ara::core::Result<void>([SWS_DM_00670])。如果注册失败,将返回错误码 DiagErrc::kInvalidArgument([SWS_DM_00670]);特别是在传递了无效通知器时,很可能会是这种情况。 问题 Q-27e5e89452a7dfbb (未决)

此使用说明基于AUTOSAR规范自动生成。

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

Header-Datei#include "ara/diag/dtc_information.h"
Scopeclass ara::diag::DTCInformation
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
notifierThe function to be called if the number of entries for this diagnostic event memory instance has changed.

Rückgabewert

TypBeschreibung
ara::core::Result< void >Returns nothing or an error.

Fehler

FehlercodeBeschreibung
DiagErrc::kInvalidArgumentrollback_semantics e.g. kPreFailed with internal debouncing

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

Record
AUTOSAR/AP/record/SWS_DM_00670
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00670@rel:R25-11#b7ea6ad0
Content hash
b7ea6ad0
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00670
Status: valid/unmigrated Version: rel:R25-11#e4768ac4 Versionshistorie & Revisions (1 transition, 8 revision)
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_00670@rel:R25-11#e4768ac4
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#59e674f72026-09-30
  • R19-11rel:R19-11#aaba3bd42026-10-14
  • R20-11rel:R20-11#2a82bad22026-10-14
  • R21-11rel:R21-11#2164b2c12026-10-14
  • R22-11rel:R22-11#407991962026-10-14
  • R23-11rel:R23-11#6da92b3b2026-10-14
  • R24-11rel:R24-11#79f5f8922026-10-14
  • R25-11rel:R25-11#e4768ac42026-10-14 active
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

函数 SetSnapshotRecordUpdatedNotifier [SWS_DM_00668] Upstream: RS_AP_00139, RS_Diag_04205, RS_Diag_04091

ara::core::Result< void > SetSnapshotRecordUpdatedNotifier (Snapshot RecordUpdatedTypeNotifier notifier) noexcept;

Register a notifier function which is called if the SnapshotRecord is changed. A consecutive call of this method will overwrite the previous registered notifier.

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

使用与流程

方法 ara::diag::DTCInformation::SetSnapshotRecordUpdatedNotifier 用于注册类型为 SnapshotRecordUpdatedTypeNotifier 的回调函数,该函数在快照记录发生更改时立即被调用([SWS_DM_00668],AUTOSAR_AP_SWS_Diagnostics §8.48.2.2.3.11 “SetSnapshotRecordUpdatedNotifier”)。对该方法的后续调用是允许的,并将完全覆盖先前注册的通知器([SWS_DM_00668])。

错误处理与签名

该函数声明为 noexcept 并保证异常安全(exception safe)([SWS_DM_00668])。ara::core::Result<void> 用作返回类型,通过其同步返回错误。在发生错误时,可以返回错误码 DiagErrc::kInvalidArgument([SWS_DM_00668])。Interpretation:规范注释“rollback_semantics e.g. kPreFailed with internal debouncing”可能表明,该错误是在内部去抖动和回滚期间出现无效状态时报告的。 问题 Q-481ee254b8395fef (未决)

并发性与限制

该方法被明确指定为非线程安全(not thread-safe)([SWS_DM_00668])。调用组件必须确保对同一 ara::diag::DTCInformation 对象的并发访问进行外部同步。

此使用说明基于AUTOSAR规范自动生成。

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

Header-Datei#include "ara/diag/dtc_information.h"
Scopeclass ara::diag::DTCInformation
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
notifierThe function to be called if the SnapshotRecord is changed.

Rückgabewert

TypBeschreibung
ara::core::Result< void >Returns nothing or an error.

Fehler

FehlercodeBeschreibung
DiagErrc::kInvalidArgumentrollback_semantics e.g. kPreFailed with internal debouncing

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

Record
AUTOSAR/AP/record/SWS_DM_00668
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00668@rel:R25-11#02a6155c
Content hash
02a6155c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00668
Status: valid/unmigrated Version: rel:R25-11#2b6804c1 Versionshistorie & Revisions (1 transition, 8 revision)
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_00668@rel:R25-11#2b6804c1
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#90a522172026-09-30
  • R19-11rel:R19-11#5f4542c92026-10-14
  • R20-11rel:R20-11#3eae650e2026-10-14
  • R21-11rel:R21-11#c55d6a4d2026-10-14
  • R22-11rel:R22-11#342557812026-10-14
  • R23-11rel:R23-11#4c6d1bdf2026-10-14
  • R24-11rel:R24-11#a2730d9c2026-10-14
  • R25-11rel:R25-11#2b6804c12026-10-14 active
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_01611] Upstream: RS_AP_00147

DTCInformation & operator= (DTCInformation &)=delete;

DTCInformation shall be a single not assignable instance.

Header-Datei#include "ara/diag/dtc_information.h"
Scopeclass ara::diag::DTCInformation

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

Record
AUTOSAR/AP/record/SWS_DM_01611
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01611@rel:R25-11#7103bd09
Content hash
7103bd09
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01611
Status: valid/unmigrated Version: rel:R25-11#9ad4aa67 Versionshistorie & Revisions (1 transition, 4 revision)
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_01611@rel:R25-11#9ad4aa67
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#37a5dd0e2026-09-30
  • R23-11rel:R23-11#2833d1282026-10-14
  • R24-11rel:R24-11#9ad4aa672026-10-14
  • R25-11rel:R25-11#9ad4aa672026-10-14 active
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_01612] Upstream: RS_AP_00147

DTCInformation & operator= (DTCInformation &&)=delete;

Move assignment operator of DTCInformation.

Header-Datei#include "ara/diag/dtc_information.h"
Scopeclass ara::diag::DTCInformation

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

Record
AUTOSAR/AP/record/SWS_DM_01612
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01612@rel:R25-11#58522540
Content hash
58522540
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01612
Status: valid/unmigrated Version: rel:R25-11#cdf852d3 Versionshistorie & Revisions (1 transition, 4 revision)
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_01612@rel:R25-11#cdf852d3
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#ea65d5022026-09-30
  • R23-11rel:R23-11#4efeb4b72026-10-14
  • R24-11rel:R24-11#cdf852d32026-10-14
  • R25-11rel:R25-11#cdf852d32026-10-14 active
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

函数 ~DTCInformation [SWS_DM_00665] Upstream: RS_AP_00134

~DTCInformation () noexcept;

Destructor of class DTCInformation.

Header-Datei#include "ara/diag/dtc_information.h"
Scopeclass ara::diag::DTCInformation
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_00665
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00665@rel:R25-11#9e19f9ef
Content hash
9e19f9ef
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00665
Status: valid/unmigrated Version: rel:R25-11#ab3a3ea0 Versionshistorie & Revisions (1 transition, 8 revision)
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_00665@rel:R25-11#ab3a3ea0
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#d4ee68382026-09-30
  • R19-11rel:R19-11#0397cd102026-10-14
  • R20-11rel:R20-11#2fe669ab2026-10-14
  • R21-11rel:R21-11#2fe669ab2026-10-14
  • R22-11rel:R22-11#2c8729262026-10-14
  • R23-11rel:R23-11#ee44ac412026-10-14
  • R24-11rel:R24-11#0d07d76c2026-10-14
  • R25-11rel:R25-11#ab3a3ea02026-10-14 active
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

类型别名文档

类型别名 ControlDtcStatusTypeNotifier [SWS_DM_02125] Upstream: RS_AP_00139, RS_Diag_04159

using ControlDtcStatusTypeNotifier = std::function<void(ControlDtc StatusType)>;

Registers a notifier function which is called if the control DTC setting is changed.

Header-Datei#include "ara/diag/dtc_information.h"
Scopeclass ara::diag::DTCInformation
SymbolControlDtcStatusTypeNotifier
Thread-Sicherheitnot thread-safe

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

Record
AUTOSAR/AP/record/SWS_DM_02125
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02125@rel:R25-11#44d807c3
Content hash
44d807c3
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02125
Status: valid/unmigrated Version: rel:R25-11#15ab5e33 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_02125@rel:R25-11#15ab5e33
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

类型别名 DtcStatusChangedNotifier [SWS_DM_02122] Upstream: RS_AP_00139, RS_Diag_04148

using DtcStatusChangedNotifier = std::function<void(std::uint32_t dtc, UdsDtcStatusByteType udsStatusByteOld, UdsDtcStatusByteType udsStatus ByteNew)>;

Register a notifier function which is called if a UDS DTC status is changed.

Header-Datei#include "ara/diag/dtc_information.h"
Scopeclass ara::diag::DTCInformation
SymbolDtcStatusChangedNotifier
Thread-Sicherheitnot thread-safe

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

Record
AUTOSAR/AP/record/SWS_DM_02122
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02122@rel:R25-11#6895bbb9
Content hash
6895bbb9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02122
Status: valid/unmigrated Version: rel:R25-11#8c9e2f83 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_02122@rel:R25-11#8c9e2f83
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

类型别名 EventMemoryOverflowSetNotifier [SWS_DM_02076] Upstream: RS_AP_00139, RS_Diag_04093

using EventMemoryOverflowSetNotifier = std::function<void(bool)>;

Notifier function which is called if the current event memory overflow status changed.

Header-Datei#include "ara/diag/dtc_information.h"
Scopeclass ara::diag::DTCInformation
SymbolEventMemoryOverflowSetNotifier
Thread-Sicherheitnot thread-safe

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

Record
AUTOSAR/AP/record/SWS_DM_02076
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02076@rel:R25-11#659f3b78
Content hash
659f3b78
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02076
Status: valid/unmigrated Version: rel:R25-11#015b2c76 Versionshistorie & Revisions (1 transition, 3 revision)
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_02076@rel:R25-11#015b2c76
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#e9f0e2d62026-09-30
  • R24-11rel:R24-11#65f359f92026-10-14
  • R25-11rel:R25-11#015b2c762026-10-14 active
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

类型别名 NumberOfStoredEntriesNotifier [SWS_DM_02124] Upstream: RS_AP_00139, RS_Diag_04109

using NumberOfStoredEntriesNotifier = std::function<void(std::uint32_ t)>;

Register a notifier function which is called if the number of currently stored fault memory entries changed.

Header-Datei#include "ara/diag/dtc_information.h"
Scopeclass ara::diag::DTCInformation
SymbolNumberOfStoredEntriesNotifier
Thread-Sicherheitnot thread-safe

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

Record
AUTOSAR/AP/record/SWS_DM_02124
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02124@rel:R25-11#3316d77a
Content hash
3316d77a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02124
Status: valid/unmigrated Version: rel:R25-11#85521efa 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_02124@rel:R25-11#85521efa
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

类型别名 SnapshotRecordUpdatedTypeNotifier [SWS_DM_02123] Upstream: RS_AP_00139, RS_Diag_04205, RS_Diag_04091

using SnapshotRecordUpdatedTypeNotifier = std::function<void(Snapshot RecordUpdatedType)>;

Register a notifier function which is called if the SnapshotRecord is changed.

Header-Datei#include "ara/diag/dtc_information.h"
Scopeclass ara::diag::DTCInformation
SymbolSnapshotRecordUpdatedTypeNotifier
Thread-Sicherheitnot thread-safe

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

Record
AUTOSAR/AP/record/SWS_DM_02123
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02123@rel:R25-11#0d1fa675
Content hash
0d1fa675
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02123
Status: valid/unmigrated Version: rel:R25-11#c8517c79 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_02123@rel:R25-11#c8517c79
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