public void DoTests() { IBaseFilter filter = null; try { Guid typeGuid; IPersist persist = null; Guid readGuid; // I decide to use the VMR9 filter because i love it ! // This test could work with other filters with the notable exception of the // VideoRendererDefault which is in fact a VMR7 on Windows XP... filter = (IBaseFilter) new VideoMixingRenderer9(); typeGuid = (typeof(VideoMixingRenderer9).GUID); // All DirectShow filters must implement IBaseFilter... // which inherit from IMediaFilter... // which inherit from IPersist persist = (IPersist)filter; persist.GetClassID(out readGuid); Debug.Assert(readGuid == typeGuid, "IPersist.GetClassID"); } finally { Marshal.ReleaseComObject(filter); } }
public static string WhichCoClassAmI(this ILayer layer) { IPersist p = layer as IPersist; if (p != null) { Guid g; p.GetClassID(out g); return(GetProgID(g)); } else { return("Unknown (layer does not implement IPersist)"); } //if (layer is BasemapLayerClass) //{ // return "BasemapLayerClass"; //} //else if (layer is CadAnnotationLayerClass) //{ // return "CadAnnotationLayerClass"; //} //else if (layer is CadastralFabricLayerClass) //{ // return "CadastralFabricLayerClass"; //} //else if (layer is CadastralFabricSubLayerClass) //{ // return "CadastralFabricSubLayerClass"; //} //else if (layer is CadFeatureLayerClass) //{ // return "CadFeatureLayerClass"; //} //else if (layer is CadLayerClass) //{ // return "CadLayerClass"; //} //else if (layer is CompositeGraphicsLayerClass) //{ // return "CompositeGraphicsLayerClass"; //} //else if (layer is CoverageAnnotationLayerClass) //{ // return "CoverageAnnotationLayerClass"; //} //else if (layer is DimensionLayerClass) //{ // return "DimensionLayerClass"; //} //else if (layer is DummyGraduatedMarkerLayerClass) //{ // return "DummyGraduatedMarkerLayerClass"; //} //else if (layer is DummyLayerClass) //{ // return "DummyLayerClass"; //} //else if (layer is FDOGraphicsLayerClass) //{ // return "FDOGraphicsLayerClass"; //} //else if (layer is FDOGraphicsSublayerClass) //{ // return "FDOGraphicsSublayerClass"; //} //else if (layer is FeatureLayerClass) //{ // return "FeatureLayerClass"; //} //else if (layer is GdbRasterCatalogLayerClass) //{ // return "GdbRasterCatalogLayerClass"; //} //else if (layer is GraphicsSubLayerClass) //{ // return "GraphicsSubLayerClass"; //} //else if (layer is GroupLayerClass) //{ // return "GroupLayerClass"; //} //else if (layer is ImageServerLayerClass) //{ // return "ImageServerLayerClass"; //} //else if (layer is IMSMapLayerClass) //{ // return "IMSMapLayerClass"; //} //else if (layer is IMSSubFeatureLayerClass) //{ // return "IMSSubFeatureLayerClass"; //} //else if (layer is IMSSubLayerClass) //{ // return "IMSSubLayerClass"; //} //else if (layer is MapServerBasicSublayerClass) //{ // return "MapServerBasicSublayerClass"; //} //else if (layer is MapServerFindSublayerClass) //{ // return "MapServerFindSublayerClass"; //} //else if (layer is MapServerIdentifySublayerClass) //{ // return "MapServerIdentifySublayerClass"; //} //else if (layer is MapServerLayerClass) //{ // return "MapServerLayerClass"; //} //else if (layer is MapServerQuerySublayerClass) //{ // return "MapServerQuerySublayerClass"; //} //else if (layer is MosaicLayerClass) //{ // return "MosaicLayerClass"; //} //else if (layer is NetworkLayerClass) //{ // return "NetworkLayerClass"; //} //else if (layer is NITFGraphicsLayerClass) //{ // return "NITFGraphicsLayerClass"; //} //else if (layer is RasterBasemapLayerClass) //{ // return "RasterBasemapLayerClass"; //} //else if (layer is RasterCatalogLayerClass) //{ // return "RasterCatalogLayerClass"; //} //else if (layer is RasterLayerClass) //{ // return "RasterLayerClass"; //} //else if (layer is TopologyLayerClass) //{ // return "TopologyLayerClass"; //} //else if (layer is WCSLayerClass) //{ // return "WCSLayerClass"; //} //else if (layer is WMSGroupLayerClass) //{ // return "WMSGroupLayerClass"; //} //else if (layer is WMSLayerClass) //{ // return "WMSLayerClass"; //} //else if (layer is WMSMapLayerClass) //{ // return "WMSMapLayerClass"; //} //else //{ // return "Case Not Handled"; //} /* * else if (layer is TerrainLayerClass) * { * return "TerrainLayerClass"; * } * else if (layer is TinLayerClass) * { * return "TinLayerClass"; * } * * * * * * / * //else if (layer is ForceElementLayerClass) * //{ * // return "ForceElementLayer (esriDefenseSolutions)Class"; * //} * //else if (layer is GeoVideoLayerClass) * //{ * // return "GeoVideoLayer (esriGlobeCore)Class"; * //} * //else if (layer is GlobeGraphicsLayerClass) * //{ * // return "GlobeGraphicsLayer (esriGlobeCore)Class"; * //} * //else if (layer is GlobeLayerClass) * //{ * // return "GlobeLayer (esriGlobeCore)Class"; * //} * //else if (layer is GlobeServerLayerClass) * //{ * // return "GlobeServerLayer (esriGlobeCore)Class"; * //} * //else if (layer is GraphicsLayer3DClass) * //{ * // return "GraphicsLayer3D (esri3DAnalyst)Class"; * //} * //else if (layer is JoinedControlPointLayerClass) * //{ * // return "JoinedControlPointLayer (esriCadastralUI)Class"; * //} * //else if (layer is JoinedLinePointLayerClass) * //{ * // return "JoinedLinePointLayer (esriCadastralUI)Class"; * //} * //else if (layer is JoinedParcelLayerClass) * //{ * // return "JoinedParcelLayer (esriCadastralUI)Class"; * //} * //else if (layer is JoinedParcelLineLayerClass) * //{ * // return "JoinedParcelLineLayer (esriCadastralUI)Class"; * //} * //else if (layer is JoinedPointLayerClass) * //{ * // return "JoinedPointLayer (esriCadastralUI)Class"; * //} * //else if (layer is KmlLayerClass) * //{ * // return "KmlLayer (esriGlobeCore)Class"; * //} * //else if (layer is MADtedLayerClass) * //{ * // return "MADtedLayer (esriDefenseSolutions)Class"; * //} * //else if (layer is MARasterLayerClass) * //{ * // return "MARasterLayer (esriDefenseSolutions)Class"; * //} * //else if (layer is NALayerClass) * //{ * // return "NALayer (esriNetworkAnalyst)Class"; * //} * //else if (layer is PacketJoinedLayerClass) * //{ * // return "PacketJoinedLayer (esriCadastralUI)Class"; * //} * //else if (layer is ProcessLayerClass) * //{ * // return "ProcessLayer (esriGeoprocessing)Class"; * //} * //else if (layer is SchematicLayerClass) * //{ * // return "SchematicLayer (esriSchematic)Class"; * //} * //else if (layer is SearchResultsLayerClass) * //{ * // return "SearchResultsLayerClass"; * //} * //else if (layer is TacticalGraphicLayerClass) * //{ * // return "TacticalGraphicLayerClass"; * //} * //else if (layer is TemporalFeatureLayerClass) * //{ * // return "TemporalFeatureLayer (esriTrackingAnalyst)Class"; * //} * */ }