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