// AForge Direct Show Library // AForge.NET framework // http://www.aforgenet.com/framework/ // // Copyright © AForge.NET, 2009-2013 // contacts@aforgenet.com // namespace AForge.Video.DirectShow.Internals { using System; using System.Runtime.InteropServices; /// /// The IAMCameraControl interface controls camera settings such as zoom, pan, aperture adjustment, /// or shutter speed. To obtain this interface, query the filter that controls the camera. /// [ComImport, Guid( "C6E13370-30AC-11d0-A18C-00A0C9118956" ), InterfaceType( ComInterfaceType.InterfaceIsIUnknown )] internal interface IAMCameraControl { /// /// Gets the range and default value of a specified camera property. /// /// /// Specifies the property to query. /// Receives the minimum value of the property. /// Receives the maximum value of the property. /// Receives the step size for the property. /// Receives the default value of the property. /// Receives a member of the CameraControlFlags enumeration, indicating whether the property is controlled automatically or manually. /// /// Return's HRESULT error code. /// [PreserveSig] int GetRange( [In] CameraControlProperty Property, [Out] out int pMin, [Out] out int pMax, [Out] out int pSteppingDelta, [Out] out int pDefault, [Out] out CameraControlFlags pCapsFlags ); /// /// Sets a specified property on the camera. /// /// /// Specifies the property to set. /// Specifies the new value of the property. /// Specifies the desired control setting, as a member of the CameraControlFlags enumeration. /// /// Return's HRESULT error code. /// [PreserveSig] int Set( [In] CameraControlProperty Property, [In] int lValue, [In] CameraControlFlags Flags ); /// /// Gets the current setting of a camera property. /// /// /// Specifies the property to retrieve. /// Receives the value of the property. /// Receives a member of the CameraControlFlags enumeration. /// The returned value indicates whether the setting is controlled manually or automatically. /// /// Return's HRESULT error code. /// [PreserveSig] int Get( [In] CameraControlProperty Property, [Out] out int lValue, [Out] out CameraControlFlags Flags ); } }