16. Appendices¶
16.1 DirectShow Property Constants¶
Camera Properties (IAMCameraControl)
Pan(0)Tilt(1)Roll(2)Zoom(3)Exposure(4)Iris(5)Focus(6)ScanMode,Privacy,PanRelative, etc.
Video Properties (IAMVideoProcAmp)
Brightness(0)Contrast(1)Hue(2)Saturation(3)Sharpness(4)Gamma,ColorEnable,WhiteBalance, etc.
Each enum value maps directly to the property index used in native DirectShow APIs and the corresponding duvc-ctl constants. See camera.h, capability.h, and constants.h for full code listings.
16.2 Error Code Reference¶
Common duvc-ctl Error Codes:
E_NOTIMPL: Operation not implemented on this platform or device.E_FAIL: General DirectShow or Windows error, see decoded HRESULT.E_PROPERTY_UNSUPPORTED: Queried property is not supported by the camera hardware.E_DEVICE_NOT_FOUND: No matching device found.E_INVALID_ARG: An API was called with an invalid argument or out-of-range value.
All error handling goes through duvc-ctl’s typed Result<T> and Error objects, which also retain decoded Windows HRESULT, details, and (where possible) string diagnostics for troubleshooting. Refer to result.h and error handling snippets for API usage.
16.3 GUID Reference¶
DirectShow Class and Interface GUIDs
CLSID_SystemDeviceEnumCLSID_VideoInputDeviceCategoryIID_IAMCameraControl:{C6E13370-30AC-11d0-A18C-00A0C9118956}IID_IAMVideoProcAmp:{C6E13360-30AC-11d0-A18C-00A0C9118956}IID_IKsPropertySet:{31efac30-515c-11d0-a9aa-00aa0061be93}
These GUIDs are defined in windows_internal.h and core implementation files and are required for COM interface acquisition and property control calls.
16.4 Glossary¶
UVC: USB Video Class, the industry standard for USB camera communication and control.
DirectShow: Microsoft’s legacy multimedia framework/APIs for media capture, processing, and streaming on Windows.
COM: Component Object Model; Windows technology underpinning all DirectShow interfaces.
IAMCameraControl/IAMVideoProcAmp: DirectShow interfaces for adjusting camera/video properties.
Vendor Extension: Device-specific controls not defined by the UVC spec, such as Logitech’s FaceTracking.
HRESULT: Standard Windows error/status code used by COM and API calls, convertible to codes and messages in duvc-ctl results.
GUID: Globally unique identifier, a 128-bit value identifying COM interfaces and DirectShow categories.
All terminology aligns with the Windows SDK, UVC spec, or something called common sense