@DrXibber I tried sending out of range value to the property. The min/max boundary didn't seem to have effect.
Calling
status = CMIOObjectSetPropertyData(devices[i], &propertyAddress, 0, nil, dataSize, &value)
with an out of range value will still trigger
- (BOOL)setDeviceProperties:(CMIOExtensionDeviceProperties *)deviceProperties error:(NSError * _Nullable *)outError
in CMIOExtension. you can then manipulate the data with own internal logics.
However, the value in readOnly attribute in CMIOExtensionPropertyAttributes will be correctly reflected on corresponding CMIO APIs
...
Boolean settable;
status = CMIOObjectIsPropertySettable(deviceID, &propertyAddress, &settable);
status = CMIOObjectSetPropertyData(devices[i], &propertyAddress, 0, nil, dataSize, &value);
Topic:
App & System Services
SubTopic:
Drivers
Tags: