00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #include <streams.h>
00011
00024 class DeviceEnumerator
00025 {
00026 public:
00027 DeviceEnumerator(REFCLSID devClass = CLSID_VideoInputDeviceCategory);
00028 ~DeviceEnumerator();
00029
00030 char** getNames();
00031 HRESULT getFilter(int num, IBaseFilter** filter);
00032 HRESULT getFilter(const char* name, IBaseFilter** filter);
00033
00034 private:
00035
00036 void listDevices();
00037
00038 char** _names;
00039 IMoniker** _monikers;
00040 ULONG _nDevices;
00041
00042 REFCLSID _devClass;
00043 };
00044
00045