System Device Enumerator

August 16, 2008


ایک اور سوال جو کہ tanvonYahoo Group میں آیا ھے۔


“DirectShow کے Filters کو کس طرح device categories میں enumerate کیا جاتا ھے۔“


اس کے دو طریقے ہیں، Filter Mapper اور System Device Enumerator ۔


یہاں میں System Device Enumerator کو پیش کروں گا۔ System Device Enumerator ایک COM object ھے، جو کہ ICreateDevEnum interface کو implement کرتا ھے۔ یہ interface expose کرتی ھے CreateClassEnumerator() method. یہ وھ method ھے جو کہ enumerator کو بناتا ھے، اور ہمیں IEnumMoniker interface دیتا ھے۔ لیکن یھ کس کو enumerate کرتا ھے۔ CreateClassEnumerator کا پہلا parameter ایک CLSID ھے device category کا، اور یھ Device categories موجود ھیں Dshow.h میں جیسا کہ CLSID_LegacyAmFilterCategory وغیرہ۔


اب جبکہ ھمارے پاس IEnumMoniker interface ھے ھم اس کے method IEnumMoniker::Next کو call کر سکتے ھیں اور یھ IMoniker interface دے گا، اس سے ھم اس filter کا “Friendly Name” حاصل کر سکتے ھیں یا پھر اس filterکو instanciateکر سکتے ھیں۔
 http://msdn.microsoft.com/en-us/library/ms787871(VS.85).aspx

One Response to “System Device Enumerator”


Leave a Reply