# 2.14. Device Manager

The `DeviceManager` instance is accessible via `windows.system.device_manager`

Note

See sample at Device manager

## 2.14.1. DeviceManager

class `windows.winobject.device_manager.``DeviceManager`

  Represent the device manager

  `classes`

    The list of installed device classes.

    Returns: | [`DeviceClass`] – A list of `DeviceClass`

## 2.14.2. DeviceClass

class `windows.winobject.device_manager.``DeviceClass`

  A Device class, which is mainly a `GUID` with additional attributes

  `devices`

    The set of devices of the current class.

    Type: | `DeviceInformationSet`

  `name`

    The name of the device class

## 2.14.3. DeviceInformationSet

class `windows.winobject.device_manager.``DeviceInformationSet`

  A device instances, can be itered to retrieve the underliyings `DeviceInstance`

  `enum_device_interface`(index)

    Not Implemented Yet

  `value`

    current value

## 2.14.4. DeviceInstance

class `windows.winobject.device_manager.``DeviceInstance`(information_set=None)

  An instance of a Device.

  The properties are from the page https://docs.microsoft.com/en-us/windows/win32/api/setupapi/nf-setupapi-setupdigetdeviceregistrypropertya#spdrp_address

  `address`

    The device’s address.

  `allocated_configuration`

    The allocated configuration of the device. (https://docs.microsoft.com/en-us/windows-hardware/drivers/kernel/hardware-resources#logical-configuration-types-for-resource-lists)

    Type: | `LogicalConfiguration`

  `boot_configuration`

    The boot configuration of the device. (https://docs.microsoft.com/en-us/windows-hardware/drivers/kernel/hardware-resources#logical-configuration-types-for-resource-lists)

    Type: | `LogicalConfiguration`

  `bus_number`

    The device’s bus number.

  `bus_type`

    The function retrieves the GUID for the device’s bus type.

  `capabilites`

    The device capabilites (https://docs.microsoft.com/en-us/windows/win32/api/setupapi/nf-setupapi-setupdigetdeviceregistrypropertya#spdrp_capabilities)

  `description`

    The description of the device

  `device_object_name`

    The function retrieves a string that contains the name that is associated with the device’s PDO.

  `driver`

    The driver of the device https://docs.microsoft.com/en-us/windows/win32/api/setupapi/nf-setupapi-setupdigetdeviceregistrypropertya#spdrp_driver

  `enumerator_name`

    The enumerator name of the devices (https://docs.microsoft.com/en-us/windows/win32/api/setupapi/nf-setupapi-setupdigetdeviceregistrypropertya#spdrp_enumerator_name)

  `hardware_id`

    The list of hardware IDs for the device. (https://docs.microsoft.com/en-us/windows/win32/api/setupapi/nf-setupapi-setupdigetdeviceregistrypropertya#spdrp_hardwareid)

  `location_information`

    The hardware location of a device.

  `location_paths`

    A list of strings that represents the location of the device in the device tree.

  `lower_filters`

    A list of string that contains the names of a device’s lower filter drivers.

  `manufacturer`

    The name of the device manufacturer.

  `name`

    The name of the device

  `raw_security_descriptor`

    The raw (binary) security descriptor of the device

  `security_descriptor`

    The security descriptor of the device.

    Type: | `SecurityDescriptor`

  `service_name`

    The name of the service for the device (https://docs.microsoft.com/en-us/windows/win32/api/setupapi/nf-setupapi-setupdigetdeviceregistrypropertya#spdrp_service)

  `type`

    The type of device (https://docs.microsoft.com/en-us/windows-hardware/drivers/kernel/specifying-device-types)

  `ui_number`

    Retrieves a DWORD value set to the value of the UINumber member of the device’s

  `upper_filters`

    A list of string that contains the names of a device’s upper filter drivers.

## 2.14.5. LogicalConfiguration

class `windows.winobject.device_manager.``LogicalConfiguration`

  Logical Configuration of a Device instance

  `resources`

    The list of resources in the current logical configuration

    Type: | [`ResourceDescriptor`] – A list of [`ResourceDescriptor`]

  `value`

    current value

## 2.14.6. ResourceDescriptor

class `windows.winobject.device_manager.``ResourceDescriptor`(handle, type)

  Describe a resource allocated or reserved by a device instance. This class is a base class, all resources returned by `LogicalConfiguration` should be one of the following:

  > - `ResourceNoType`
  > - `MemoryResource`
  > - `IoResource`
  > - `DmaResource`
  > - `IrqResource`
  > - `BusNumberResource`
  > - `MemLargeResource`
  > - `ClassSpecificResource`
  > - `DevicePrivateResource`
  > - `MfCardConfigResource`
  > - `PcCardConfigResource`

  `rawdata`

    The raw data describing the resource

  `value`

    current value

### 2.14.6.1. Concrete ResourceDescriptor

#### 2.14.6.1.1. ResourceNoType

class `windows.winobject.device_manager.``ResourceNoType`(handle, type)
  `rawdata`

    The raw data describing the resource

  `value`

    current value

#### 2.14.6.1.2. MemoryResource

class `windows.winobject.device_manager.``MemoryResource`(handle, type)

  A resource of type MEM_RESOURCE

  `DATA_TYPE`

    alias of `windows.generated_def.winstructs.Mem_Resource_s`

  `rawdata`

    The raw data describing the resource

  `value`

    current value

#### 2.14.6.1.3. IoResource

class `windows.winobject.device_manager.``IoResource`(handle, type)

  A resource of type IO_RESOURCE

  `DATA_TYPE`

    alias of `windows.generated_def.winstructs.IO_Resource_s`

  `rawdata`

    The raw data describing the resource

  `value`

    current value

#### 2.14.6.1.4. DmaResource

class `windows.winobject.device_manager.``DmaResource`(handle, type)

  A resource of type DMA_RESOURCE

  `DATA_TYPE`

    alias of `windows.generated_def.winstructs.DMA_Resource_s`

  `rawdata`

    The raw data describing the resource

  `value`

    current value

#### 2.14.6.1.5. IrqResource

class `windows.winobject.device_manager.``IrqResource`(handle, type)

  A resource of type IRQ_RESOURCE

  `DATA_TYPE`

    alias of `windows.generated_def.winstructs.IRQ_Resource_32_s`

  `rawdata`

    The raw data describing the resource

  `value`

    current value

#### 2.14.6.1.6. BusNumberResource

class `windows.winobject.device_manager.``BusNumberResource`(handle, type)

  A resource of type BUSNUMBER_RESOURCE

  `DATA_TYPE`

    alias of `windows.generated_def.winstructs.BusNumber_Resource_s`

  `rawdata`

    The raw data describing the resource

  `value`

    current value

#### 2.14.6.1.7. MemLargeResource

class `windows.winobject.device_manager.``MemLargeResource`(handle, type)

  A resource of type MEM_LARGE_RESOURCE

  `DATA_TYPE`

    alias of `windows.generated_def.winstructs.Mem_Large_Resource_s`

  `rawdata`

    The raw data describing the resource

  `value`

    current value

#### 2.14.6.1.8. ClassSpecificResource

class `windows.winobject.device_manager.``ClassSpecificResource`(handle, type)

  A resource of type CS_RESOURCE

  `DATA_TYPE`

    alias of `windows.generated_def.winstructs.CS_Resource_s`

  `rawdata`

    The raw data describing the resource

  `value`

    current value

#### 2.14.6.1.9. DevicePrivateResource

class `windows.winobject.device_manager.``DevicePrivateResource`(handle, type)

  A device private resource (https://docs.microsoft.com/en-us/windows-hardware/drivers/install/devprivate-resource)

  `rawdata`

    The raw data describing the resource

  `value`

    current value

#### 2.14.6.1.10. MfCardConfigResource

class `windows.winobject.device_manager.``MfCardConfigResource`(handle, type)

  A resource of type MFCARD_RESOURCE

  `DATA_TYPE`

    alias of `windows.generated_def.winstructs.MfCard_Resource_s`

  `rawdata`

    The raw data describing the resource

  `value`

    current value

#### 2.14.6.1.11. PcCardConfigResource

class `windows.winobject.device_manager.``PcCardConfigResource`(handle, type)

  A resource of type PCCARD_RESOURCE

  `DATA_TYPE`

    alias of `windows.generated_def.winstructs.PcCard_Resource_s`

  `rawdata`

    The raw data describing the resource

  `value`

    current value