diff options
author | cliechti <cliechti@f19166aa-fa4f-0410-85c2-fa1106f25c8a> | 2009-08-06 00:36:20 +0000 |
---|---|---|
committer | cliechti <cliechti@f19166aa-fa4f-0410-85c2-fa1106f25c8a> | 2009-08-06 00:36:20 +0000 |
commit | 44168ea09d7ecd6527d36095fba9e47dd7e7bf71 (patch) | |
tree | 7125aa46c060113bc5b4a0c842c4a12a7726100e | |
parent | 19aa46b2f88224d6c37bd4830e5f977d940c313c (diff) | |
download | pyserial-git-44168ea09d7ecd6527d36095fba9e47dd7e7bf71.tar.gz |
special device names require \\.\ prefix
-rw-r--r-- | pyserial/examples/scanwin32.py | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/pyserial/examples/scanwin32.py b/pyserial/examples/scanwin32.py index 13cad47..090d7d6 100644 --- a/pyserial/examples/scanwin32.py +++ b/pyserial/examples/scanwin32.py @@ -181,18 +181,20 @@ def comports(available_only=True): #~ raise ctypes.WinError() # not getting friendly name for com0com devices, try something else szFriendlyName = ctypes.create_string_buffer(1024) - SetupDiGetDeviceRegistryProperty( + if SetupDiGetDeviceRegistryProperty( g_hdi, ctypes.byref(devinfo), SPDRP_LOCATION_INFORMATION, None, ctypes.byref(szFriendlyName), ctypes.sizeof(szFriendlyName) - 1, None - ) - try: - port_name = re.search(r"\((.*)\)", szFriendlyName.value).group(1) - except AttributeError, msg: - port_name = szFriendlyName.value + ): + port_name = "\\\\.\\" + szFriendlyName.value + else: + try: + port_name = re.search(r"\((.*)\)", szFriendlyName.value).group(1) + except AttributeError, msg: + port_name = szFriendlyName.value yield port_name, szFriendlyName.value, szHardwareID.value SetupDiDestroyDeviceInfoList(g_hdi) |