#include #include VideoCodec::ReturnCode VideoCodec::openDriver(const DriverName &driverName) { return openDriver(driverName.driverLoadName()); } VideoCodec::ReturnCode VideoCodec::openDriver(DWORD fccHandler) { DriverName driverName; if(!locateDriver(fccHandler,driverName))return FailResult; return openDriver(driverName); } WORD VideoCodec::enumerateDrivers(Block &driverStrings) { Profile systemProfile("SYSTEM.INI","UNSET"); String sectionName("DRIVERS32"); String videoCodecID("VIDC"); String driverType; String driverName; String driverLoadName; Block driversBlock; driverStrings.remove(); systemProfile.readProfileBlock(sectionName,driversBlock); if(!driversBlock.size())return FALSE; for(short itemIndex=0;itemIndex driverNames; String fccString; WORD driverCount; ::OutputDebugString(String("\nsearching for a driver to handle type '")+FOURCC(fccType).toString()+String("'\n")); enumerateDrivers(driverNames); if(0==(driverCount=driverNames.size()))return FALSE; for(short itemIndex=0;itemIndex