Hello @TomQuant ,
To handle this situation, you might consider an approach of dynamically detecting based on the supported value bounds. You could refer to the following implementation approach:
- Use the IKsControl::KsProperty function with the KSPROPERTY_TYPE_BASICSUPPORT flag to retrieve the KSPROPERTY_STEPPING_LONG structure, which describes the bounds of the Pan/Tilt property.
- Based on the
Bounds.SignedMaximum value, you can make an assessment:
- If the maximum value is relatively small (e.g.,
<= 360), it is highly likely that the driver is using degrees.
- If the maximum value is quite large (e.g., close to
180 * 3600 = 648000), this indicates the driver might be adhering to the documentation and using arc-seconds.
- Build a logic check to automatically apply the appropriate conversion ratio based on the conditions evaluated in step 2.
In addition, you might also consider submitting a report via the feedback feature directly on the documentation page. You can find the "Was this page helpful?" section with thumbs up/down icons on the right side of the page. Clicking either icon will open a dialog where you can select a reason and use the "Tell us more" box to share information about the inconsistencies in real-world drivers. This could help the Microsoft documentation team consider adding necessary notes, which would better support the developer community in the future.
Hopefully, these suggestions will be helpful for you. If you found my response helpful or informative, you could follow this guide to provide feedback.
Thank you.