the device information set of one interface class: what enumerates the devices present and names their paths
More...
#include <dx_proxy_driver.h>
|
| class | devices |
| | the devices of a hardware id and the set's class - its own or its parent's, a composite device's function - the present ones unless all are asked for, what a range-for over setup(hwid) walks More...
|
|
| bool | install (const char *inf) |
| | installs a driver package: the inf goes into the driver store and every present device it matches is updated to it (::DiInstallDriver, newdev.lib) - a package competing for the same hardware ids is purged ahead of it by the caller, the rank would otherwise decide; answers whether the system asks for a reboot
|
| devices | operator() (const char *hwid, bool present=true) const |
| setup & | purge (const char *hwid) |
| | uninstalls every installed package (oem*.inf) with a model of the hardware id
|
| bool | reinstall (const char *hwid) |
| | installs the package that ranks best in the driver store on the devices of a hardware id where they stand (::DiInstallDevice, newdev.lib) - a node stays, a software device's included; answers whether the system asks for a reboot, throws at the first device failing
|
| setup & | remove (const char *hwid) noexcept |
| | takes the devices of a hardware id out, those not present included: they come back at rescan(), on whatever package stands; a device failing is reported, the next one taken
|
| setup & | rescan () noexcept |
| | reenumerates the parents of the devices remove() took out, so they come back on whatever package stands - a device's bus alone, never the root: a root reenumeration waits on every bus and volume driver of the machine, and a pending one holds the PnP engine and with it every later install
|
| | setup (const ::GUID &guid, const char *bus=nullptr) |
| | the driver interface class constructor
|
| const std::string | uid (int instance) const |
| | the device enumerator
|
| | ~setup () noexcept |
| | the driver interface class destructor
|
|
| ::GUID | guid (const char *inf) |
| | the class an inf installs its devices into
|
| static std::deque< std::string > | hwids (const char *file) |
| | the hardware ids an inf's models name: each [Manufacturer] entry's <models>[.<NT arch>] section, a line's second field
|
template<typename
device_t = device<>>
class dx::proxy::driver< device_t >::setup
the device information set of one interface class: what enumerates the devices present and names their paths
◆ setup()
the driver interface class constructor
the underlaying windows API is ::SetupDiGetClassDevs(). for detailed information see http://msdn.microsoft.com/en-us/library/ms792959.aspx
- Exceptions
-
- Parameters
-
| guid | the GUID identifying the driver interface or device class |
| bus | bus enumerator for device classe |
◆ ~setup()
◆ guid()
the class an inf installs its devices into
◆ hwids()
the hardware ids an inf's models name: each [Manufacturer] entry's <models>[.<NT arch>] section, a line's second field
◆ install()
installs a driver package: the inf goes into the driver store and every present device it matches is updated to it (::DiInstallDriver, newdev.lib) - a package competing for the same hardware ids is purged ahead of it by the caller, the rank would otherwise decide; answers whether the system asks for a reboot
◆ operator()()
◆ purge()
uninstalls every installed package (oem*.inf) with a model of the hardware id
◆ reinstall()
installs the package that ranks best in the driver store on the devices of a hardware id where they stand (::DiInstallDevice, newdev.lib) - a node stays, a software device's included; answers whether the system asks for a reboot, throws at the first device failing
◆ remove()
takes the devices of a hardware id out, those not present included: they come back at rescan(), on whatever package stands; a device failing is reported, the next one taken
◆ rescan()
reenumerates the parents of the devices remove() took out, so they come back on whatever package stands - a device's bus alone, never the root: a root reenumeration waits on every bus and volume driver of the machine, and a pending one holds the PnP engine and with it every later install
◆ uid()
The documentation for this class was generated from the following file: