#ifndef _PROTO_DEVICEENUMERATOR_HPP_ #define _PROTO_DEVICEENUMERATOR_HPP_ #ifndef _COMMON_BLOCK_HPP_ #include #endif #ifndef _COMMON_STRING_HPP_ #include #endif #ifndef _COMMON_DXSDK_HPP_ #include #endif #ifndef _PROTO_DEVICEDESCRIPTOR_HPP_ #include #endif class DeviceEnumerator { public: typedef enum DevCat{AudioCaptureSources,AudioCompressors,AudioRenderers,DeviceControlFilters, DirectShowFilters,ExternalRenderers,MidiRenderers,VideoCaptureSources,VideoCompressors, VideoEffects1,VideoEffects2,WDMStreamingDecompressionDevices,WDMStreamingCaptureDevices, WDMStreamingCommunicationTransforms,WDMStreamingCrossbarDevices,WDMStreamingDataTransforms, WDMStreamingInterfaceTransforms,WDMStreamingMixerDevices,WDMRenderingDevices, WDMStreamingSystemAudioDevices,WDMStreamingTeeSplitterDevices,WDMStreamingTVAudioDevices, WDMStreamingTVTunerDevices,WDMStreamingVBICodes,ActiveMovieFilterCategories}; static bool enumerateCategory(DeviceDescriptors &descriptors,DevCat devCat); private: static bool enumerateCategory(DeviceDescriptors &descriptors,GUID classID); }; #endif