示例#1
0
        /// <summary>
        /// 指定されたフィルタグラフから IAMVideoControl インターフェースを取得します。
        /// </summary>
        /// <param name="graph">検査対象のフィルタグラフ</param>
        /// <returns>
        ///		指定されたグラフに含まれるソースフィルタを IAMVideoControl にキャストして返します。
        ///		サポートしていない場合は null を返します。
        /// </returns>
        internal static IAMVideoControl GetInterface(IxDSGraphBuilderProvider graph)
        {
            if (graph == null)
            {
                return(null);
            }
            if (graph.GraphBuilder == null)
            {
                return(null);
            }

            IEnumFilters pEnum = null;

            graph.GraphBuilder.EnumFilters(ref pEnum);
            if (pEnum == null)
            {
                return(null);
            }

            while (true)
            {
                IBaseFilter filter  = null;
                int         fetched = 0;
                int         status  = pEnum.Next(1, ref filter, ref fetched);
                if (status != 0)
                {
                    break;
                }

                if (filter is IAMVideoControl)
                {
                    return((IAMVideoControl)filter);
                }
            }

            return(null);
        }
示例#2
0
 /// <summary>
 /// コンストラクタ
 /// </summary>
 /// <param name="graph">フィルタグラフ</param>
 /// <param name="property">プロパティの種別</param>
 public CxAMCameraControl(IxDSGraphBuilderProvider graph, CameraControlProperty property)
 {
     Graph = graph;
     Property = property;
 }
示例#3
0
 /// <summary>
 /// コンストラクタ
 /// </summary>
 /// <param name="graph">フィルタグラフ</param>
 public CxAMCameraControl(IxDSGraphBuilderProvider graph)
 {
     Graph = graph;
 }
示例#4
0
        /// <summary>
        /// 指定されたフィルタグラフから IAMCameraControl インターフェースを取得します。
        /// </summary>
        /// <param name="graph"></param>
        /// <returns>
        ///		指定されたグラフに含まれるソースフィルタを IAMCameraControl にキャストして返します。
        ///		サポートしていない場合は null を返します。
        /// </returns>
        internal static IAMCameraControl GetInterface(IxDSGraphBuilderProvider graph)
        {
            if (graph == null) return null;
            if (graph.GraphBuilder == null) return null;

            IEnumFilters pEnum = null;
            graph.GraphBuilder.EnumFilters(ref pEnum);
            if (pEnum == null) return null;

            while (true)
            {
                IBaseFilter filter = null;
                int fetched = 0;
                int status = pEnum.Next(1, ref filter, ref fetched);
                if (status != 0) break;

                if (filter is IAMCameraControl)
                    return (IAMCameraControl)filter;
            }

            return null;
        }
示例#5
0
 /// <summary>
 /// 指定されたフィルタグラフが IAMCameraControl インターフェースをサポートしているか検査します。
 /// </summary>
 /// <param name="graph">検査対象のフィルタグラフ</param>
 /// <returns>
 ///		サポートしている場合は true を返します。
 ///		そうでなければ false を返します。
 /// </returns>
 public static bool IsSupported(IxDSGraphBuilderProvider graph)
 {
     return (GetInterface(graph) != null);
 }
示例#6
0
 /// <summary>
 /// コンストラクタ
 /// </summary>
 /// <param name="graph">フィルタグラフ</param>
 public CxAMVideoControl(IxDSGraphBuilderProvider graph)
 {
     Graph = graph;
 }
示例#7
0
 /// <summary>
 /// 指定されたフィルタグラフが IAMVideoControl インターフェースをサポートしているか検査します.
 /// </summary>
 /// <param name="graph">検査対象のフィルタグラフ</param>
 /// <returns>
 ///		サポートしている場合は true を返します。
 ///		そうでなければ false を返します。
 /// </returns>
 public static bool IsSupported(IxDSGraphBuilderProvider graph)
 {
     return(GetInterface(graph) != null);
 }
示例#8
0
 /// <summary>
 /// コンストラクタ
 /// </summary>
 /// <param name="graph">フィルタグラフ</param>
 /// <param name="property">プロパティの種別</param>
 public CxAMVideoProcAmp(IxDSGraphBuilderProvider graph, VideoProcAmpProperty property)
 {
     Graph = graph;
     Property = property;
 }
示例#9
0
 /// <summary>
 /// コンストラクタ
 /// </summary>
 /// <param name="graph">フィルタグラフ</param>
 public CxAMVideoControl(IxDSGraphBuilderProvider graph)
 {
     Graph = graph;
 }
示例#10
0
 /// <summary>
 /// コンストラクタ
 /// </summary>
 /// <param name="graph">フィルタグラフ</param>
 public CxAMVideoProcAmp(IxDSGraphBuilderProvider graph)
 {
     Graph = graph;
 }
示例#11
0
 /// <summary>
 /// コンストラクタ
 /// </summary>
 /// <param name="graph">フィルタグラフ</param>
 /// <param name="property">プロパティの種別</param>
 public CxAMVideoProcAmp(IxDSGraphBuilderProvider graph, VideoProcAmpProperty property)
 {
     Graph    = graph;
     Property = property;
 }
示例#12
0
 /// <summary>
 /// コンストラクタ
 /// </summary>
 /// <param name="graph">フィルタグラフ</param>
 public CxAMVideoProcAmp(IxDSGraphBuilderProvider graph)
 {
     Graph = graph;
 }
示例#13
0
 /// <summary>
 /// コンストラクタ
 /// </summary>
 /// <param name="graph">フィルタグラフ</param>
 /// <param name="property">プロパティの種別</param>
 public CxAMCameraControl(IxDSGraphBuilderProvider graph, CameraControlProperty property)
 {
     Graph    = graph;
     Property = property;
 }
示例#14
0
 /// <summary>
 /// コンストラクタ
 /// </summary>
 /// <param name="graph">フィルタグラフ</param>
 public CxAMCameraControl(IxDSGraphBuilderProvider graph)
 {
     Graph = graph;
 }