Analog_Output_Present_Value_Set() and Analog_Output_Present_Value_Relinquish() silently accept writes at priority 6, unlike Binary Output's equivalents (Binary_Output_Present_Value_Set/_Relinquish in bo.c), which reject it via priority != 6 /* reserved */.
Prior to commit 100df01 ("Modify example output objects", 2022-11-10), Analog_Output_Present_Value_Set() and _Relinquish() carried this exact guard. That commit rewrote ao.c, bo.c and mso.c together to add dynamic object creation and current-command-priority support;
- bo.c's rewrite preserved the guard in its low-level primitives,
- ao.c's (and mso.c's) commit lost it -- it survives only in the newer, WriteProperty-facing Analog_Output_Present_Value_Write()/_Relinquish_Write() wrappers, which still deny remote clients writing priority 6 with ERROR_CODE_WRITE_ACCESS_DENIED.
Is it expected to reserve priority 6 back?
Reactions are currently unavailable
Analog_Output_Present_Value_Set() and Analog_Output_Present_Value_Relinquish() silently accept writes at priority 6, unlike Binary Output's equivalents (Binary_Output_Present_Value_Set/_Relinquish in bo.c), which reject it via priority != 6 /* reserved */.
Prior to commit 100df01 ("Modify example output objects", 2022-11-10), Analog_Output_Present_Value_Set() and _Relinquish() carried this exact guard. That commit rewrote ao.c, bo.c and mso.c together to add dynamic object creation and current-command-priority support;
Is it expected to reserve priority 6 back?