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