Added device enumaration functions.  Need to figure how how (more like where) to handle unsupported funcationality.