2013-06-26 12 views
0

컴퓨터에 현재 설치된 DMO 필터를 열거하는 방법을 아는 사람이 있습니까? 현재 설치된 모든 DMO 필터를 열거하는 응용 프로그램을 만들고 싶습니다.설치된 모든 DMO 필터 열거하기

GraphEdit 및 GraphStudio가 다음 작업을 수행 할 때 가능하다는 사실을 알고 있습니다.

내가 필요한 이유는 매일 다른 유형의 독점적 인 (CCTV) 비디오를 많이받는 회사에서 일한다는 것입니다. 여러 번 나에게 동영상을 보내는 사람이 기술적 인 사람이 아니므로 현재 설치된 모든 프로그램과 DirectShow 필터 ("InstalledCodec"사용)를 내보내는 앱을 보내고 Google 프로그램에서 사용하는 프로그램과 비교해보십시오 자신의 컴퓨터에서 비디오를 처리하면 코덱을 찾아 내 컴퓨터에서 영화를 처리 할 수 ​​있습니다.

때때로 나는 DMO 필터를 사용하여 처리 된 비디오 (대개 ASF)를 수신하는데, 불행히도 이들을 열거 할 방법이 없다는 것을 알게되었습니다.

여기에 접근하는 방법에 대한 단서가있는 사람이 있습니까?

감사에 앞서, -YS

답변

1

API DMOEnum 기능을 정확히 수행합니다

DMOEnum 기능은 레지스트리에 나열된의 DMO를 열거합니다. 발신자는 카테고리, 미디어 유형 또는 둘 다 검색 할 수 있습니다.

이 샘플 응용 프로그램이 다이렉트 미디어의 모든 사용자의 시스템에 등록 (의 DMO)를 개체 열거하고 에 대한 정보를 정보를 표시합니다

이 추가하려면,이 윈도우 SDK에 DMOEnum Sample입니다 .

샘플은 DMOEnum 함수를 사용하고 IEnumDMO 인터페이스는 에 DMO를 열거합니다. IMediaObject 인터페이스와 다른 DMO 인터페이스를 사용해, 각 DMO에 관한 정보를 얻어 온다. 당신의 DirectShow에서 액세스 할 수 있습니다 만의 DMO를 원하는 경우

, 당신은 열거 DMO 카테고리의 GUID와 함께 System Device Enumerator를 사용할 수 있습니다

// 57f2db8b-e6bb-4513-9d43-dcd2a6593125 
DEFINE_GUID(DMOCATEGORY_AUDIO_DECODER, 0x57f2db8b,0xe6bb,0x4513,0x9d,0x43,0xdc,0xd2,0xa6,0x59,0x31,0x25); 
// 33D9A761-90C8-11d0-BD43-00A0C911CE86 
DEFINE_GUID(DMOCATEGORY_AUDIO_ENCODER, 0x33D9A761,0x90C8,0x11d0,0xBD,0x43,0x00,0xA0,0xC9,0x11,0xCE,0x86); 
// 4a69b442-28be-4991-969c-b500adf5d8a8 
DEFINE_GUID(DMOCATEGORY_VIDEO_DECODER, 0x4a69b442,0x28be,0x4991,0x96,0x9c,0xb5,0x00,0xad,0xf5,0xd8,0xa8); 
// 33D9A760-90C8-11d0-BD43-00A0C911CE86 
DEFINE_GUID(DMOCATEGORY_VIDEO_ENCODER, 0x33D9A760,0x90C8,0x11d0,0xBD,0x43,0x00,0xA0,0xC9,0x11,0xCE,0x86); 
// f3602b3f-0592-48df-a4cd-674721e7ebeb 
DEFINE_GUID(DMOCATEGORY_AUDIO_EFFECT, 0xf3602b3f,0x0592,0x48df,0xa4,0xcd,0x67,0x47,0x21,0xe7,0xeb,0xeb); 
// d990ee14-776c-4723-be46-3da2f56f10b9 
DEFINE_GUID(DMOCATEGORY_VIDEO_EFFECT, 0xd990ee14,0x776c,0x4723,0xbe,0x46,0x3d,0xa2,0xf5,0x6f,0x10,0xb9); 
// f665aaba-3e09-4920-aa5f-219811148f09 
DEFINE_GUID(DMOCATEGORY_AUDIO_CAPTURE_EFFECT, 0xf665aaba,0x3e09,0x4920,0xaa,0x5f,0x21,0x98,0x11,0x14,0x8f,0x09);