1

I am unable to access the disk drives on the Windows system using infi.manager package found on PyPi.

Tried the below :

  from infi.devicemanager import DeviceManager
  dm = DeviceManager()
  dm.root.rescan()
  disks = dm.disk_drives
  names = [disk.friendly_name for disk in disks]

Error messages :

Traceback (most recent call last):  
  File "C:\Users\rsushmit\AppData\Local\Programs\Python\Python37-32\lib\site-packages\infi\devicemanager\setupapi\functions.py", line 56, in callee  
    yield decorated_func(*args, **kwargs)
  File "C:\Users\rsushmit\AppData\Local\Programs\Python\Python37-32\lib\site-packages\infi\devicemanager\setupapi\functions.py", line 70, in SetupDiEnumDeviceInfo
    interface(device_info_set, index, device_info_buffer)
  File "C:\Users\rsushmit\AppData\Local\Programs\Python\Python37-32\lib\site-packages\infi\cwrap\__init__.py", line 138, in __new__
    return_value = function(*args[1:], **kwargs)
  File "C:\Users\rsushmit\AppData\Local\Programs\Python\Python37-32\lib\site-packages\infi\devicemanager\setupapi\__init__.py", line 35, in errcheck
    raise WindowsException(GetLastError())
infi.devicemanager.setupapi.WindowsException: 259, No more data is available.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\rsushmit\AppData\Local\Programs\Python\Python37-32\lib\site-packages\infi\devicemanager\setupapi\functions.py", line 60, in callee
    raise StopIteration
StopIteration

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\rsushmit\AppData\Local\Programs\Python\Python37-32\lib\site-packages\infi\devicemanager\__init__.py", line 215, in disk_drives
    for controller in self.storage_controllers:
  File "C:\Users\rsushmit\AppData\Local\Programs\Python\Python37-32\lib\site-packages\infi\devicemanager\__init__.py", line 227, in storage_controllers
    return self.get_devices_from_handle(handle)
  File "C:\Users\rsushmit\AppData\Local\Programs\Python\Python37-32\lib\site-packages\infi\devicemanager\__init__.py", line 198, in get_devices_from_handle
    for devinfo in functions.SetupDiEnumDeviceInfo(handle):
RuntimeError: generator raised StopIteration
halfer
  • 19,824
  • 17
  • 99
  • 186

1 Answers1

0
from infi.devicemanager import DeviceManager
dm = DeviceManager()
dm.root.rescan()

devices = dm.all_devices
for device in devices:
    print(device)
Malj90
  • 141
  • 2
  • 8