Reply
Logi Nu
sbauermann
Posts: 1
Registered: 12-06-2011
0

DirectShow IAMCameraControl Interface does not work with Digital Zoom Function for QuickCam Pro 9000

Hello People,

 

i send in first an example.

 

IAMCameraControl icc = (IAMCameraControl)capFilter;               
CameraControlFlags f;                             
int lValue;               
int hr = icc.Get(CameraControlProperty.Zoom, out lValue, out f);

 

 

The Result of this test is = -2147023728.

It seems as if only Exposure and Focus are supported.

 

There is a possibility the function zoom (digital zoom) in a c# project to reaching?

I cannont understand why the IAMCameraControl interface is not supported completely.

It`s very important for me to mention this function.

I have tryout different drivers but nothing helped.

 

I hope somebody can help with extendet informations or a little solution in c# to reaching the Zoom function of this Camera

 

Here is the ComImport



 /// <summary>
    /// From CameraControlFlags
    /// </summary>
    [Flags]
    public enum CameraControlFlags
    {
        None = 0x0,
        Auto = 0x0001,
        Manual = 0x0002
    }

    /// <summary>
    /// From CameraControlProperty
    /// </summary>
    public enum CameraControlProperty
    {
        Pan = 0,
        Tilt,
        Roll,
        Zoom,
        Exposure,
        Iris,
        Focus
    }

 [ComImport, System.Security.SuppressUnmanagedCodeSecurity,
   Guid("C6E13370-30AC-11d0-A18C-00A0C9118956"),
   InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
    public interface IAMCameraControl
    {
        [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
            );

        [PreserveSig]
        int Set(
            [In] CameraControlProperty Property,
            [In] int lValue,
            [In] CameraControlFlags Flags
            );

        [PreserveSig]
        int Get(
            [In] CameraControlProperty Property,
            [Out] out int lValue,
            [Out] out CameraControlFlags Flags
            );
    }