Microsoft MVP성태의 닷넷 이야기
다이렉트쇼 필터 추가하는데 [링크 복사], [링크+제목 복사],
조회: 16400
글쓴 사람
엿장수
홈페이지
첨부 파일
 

다이렉트쇼 필터 추가하는데

//Guid CLSID_textOver = new Guid("{8AF6F710-1AF5-4952-AAFF-ACCD0DB2C9BB}");
                //IBaseFilter pTextOver = (IBaseFilter)Activator.CreateInstance(Type.GetTypeFromCLSID(CLSID_textOver));
                //hr = graphBuilder.AddFilter(pTextOver, " pTextOver ");

                TextOverFilter hTextOverFilter = new TextOverFilter();
                hr = graphBuilder.AddFilter((IBaseFilter)hTextOverFilter, " TextOverFilter ");

위의코드에서
TextOverFilter 와 위에서 주석처리된 Guid 로 생성된 IBaseFilter pTextOver 필터가 같습니다

Guid 로 생성해서 그래프빌더로 추가하면 잘동작합니다

근데 직접 객체를 생성해서 graphBuilder.AddFilter((IBaseFilter)hTextOverFilter, " TextOverFilter "); 하면
런타임 에러가 납니다

에러내용
System.InvalidCastException: 'ExampleFilters.TextOverFilter' 형식 개체를 'DirectShowLib.IBaseFilter' 형식으로 캐스팅할 수 없습니다.

혹시싶어서
IBaseFilter hTextOverFilter = (IBaseFilter)new TextOverFilter();
 hr = graphBuilder.AddFilter(hTextOverFilter, " TextOverFilter ");
이렇게해줘도 마찬가지구요

이것 어디를 살펴봐야될까요?

필터에 인터페이스를 추가해서 사용해야되는데
Guid 로 생성한객체에는 인터페이스를 호출할수가 없습니다
해결방법 없을까요?








[최초 등록일: ]
[최종 수정일: 8/23/2018]


비밀번호

댓글 작성자
 



2018-08-22 11시58분
TextOverFilter에서 IBaseFilter로 형변환하면 null이 아닌 값이 나오나요? 일단, 뭔가 다르니까 그런 걸텐데 제가 딱히 더 조언해 드릴 것이 없습니다. TextOverFilter를 만든 당사자에게 물어봐야 하지 않을까요?
정성태
2018-08-23 06시50분
[엿장수] 필터만드는데 사용하는 라이브러리와
다이렉트쇼 코딩하는데 사용하는라이브러리의 IBaseFilter 가 차이가있는것같습니다
잘해결되었습니다 감사합니다
[guest]

... 91  92  [93]  94  95  96  97 
NoWriterDateCnt.TitleFile(s)
133김용국4/1/200510817                답변글 [답변]: [답변]: [답변]: [답변]: SmartClient 배포와 관련해서 무엇이 빠졌는지 좀 알려주시면 감사하겠습니다....!
126구정모3/31/200512142이홈의 효과는 어떻게???
128정성태3/31/200511274    답변글 [답변]: 이홈의 효과는 어떻게???
124배재현3/30/200511069Smart Client 문제로 이렇게 질문을 하나 올리게 됐습니다.^^;;
125정성태3/30/200510775    답변글 [답변]: Smart Client 문제로 이렇게 질문을 하나 올리게 됐습니다.^^;;
121안연준3/23/200510480이벤트 관련 문제
122정성태3/23/200510372    답변글 [답변]: 이벤트 관련 문제
120안연준3/23/200510314정성태님.... 오프라인 문제 질문 입니다. [1]
123정성태3/23/200510529    답변글 [답변]: 정성태님.... 오프라인 문제 질문 입니다. [1]
117정준명3/21/200511419COM+ 메소드 작성시...
118정성태3/29/200510989    답변글 [답변]: COM+ 메소드 작성시... [1]
109김용국3/18/200511988IE에 Docking된 WinFormControl내의 특정 메소드에 값을 보내기 .. 잘 되기는 하는데 한가지 문제가 ...
112정성태3/19/200511134    답변글 [답변]: IE에 Docking된 WinFormControl내의 특정 메소드에 값을 보내기 .. 잘 되기는 하는데 한가지 문제가 ...
113김용국3/19/200511089        답변글 [답변]: [답변]: IE에 Docking된 WinFormControl내의 특정 메소드에 값을 보내기 .. 잘 되기는 하는데 한가지 문제가 ...
114정성태3/19/200511097            답변글 [답변]: [답변]: [답변]: IE에 Docking된 WinFormControl내의 특정 메소드에 값을 보내기 .. 잘 되기는 하는데 한가지 문제가 ...
115김용국3/21/200510545                답변글 [답변]: [답변]: [답변]: [답변]: IE에 Docking된 WinFormControl내의 특정 메소드에 값을 보내기 .. 잘 되기는 하는데 한가지 문제가 ... [1]
119김용국3/22/200510523                    답변글 [답변]: 정상태님 아주 잘 해결 되었습니다.... 감사합니다!
108guest3/17/200510666닷넷 프레임워크 배포
111정성태3/19/200511193    답변글 [답변]: 닷넷 프레임워크 배포
107안연준3/17/200510368[-_-]스마트 클라이언트에 관련 된 질문[-_-]
110정성태3/19/200511260    답변글 [답변]: [-_-]스마트 클라이언트에 관련 된 질문[-_-]
116안연준3/21/200510643        답변글 [답변]: 친절한 답변 고맙습니다.
98김용국3/18/200512525정성태님... 연결이 준비됬습니다
99정성태3/2/200513493    답변글 [답변]: 정성태님... 연결이 준비됬습니다
100김용국3/18/200510456        답변글 [답변]: 죄송합니다! 급히올리느라 file path의 변경을 하지않고 그냥올렸네요....!
101정성태3/2/200510662            답변글 [답변]: [답변]: 죄송합니다! 급히올리느라 file path의 변경을 하지않고 그냥올렸네요....!
... 91  92  [93]  94  95  96  97